在R中使用XLSX包在excel中打印data.frame时出错

在R中使用XLSX包在excel中打印data.frame时出错,r,excel,xlsx,R,Excel,Xlsx,数据帧是可见的,没有任何错误。但当使用xlsx包的write.xlsx函数打印时,会出现错误 Error in .jcall(cell, "V", "setCellValue", value) : method setCellValue with signature ([D)V not found. data.frame的dput如下所示: Timestamp qs pqs logqs es p_imp

数据帧是可见的,没有任何错误。但当使用xlsx包的write.xlsx函数打印时,会出现错误

Error in .jcall(cell, "V", "setCellValue", value) : 
  method setCellValue with signature ([D)V not found.
data.frame的dput如下所示:

Timestamp         qs          pqs        logqs         es         p_imp      dep    r_dep       agg_rtn
               (time)      (dbl)        (dbl)        (dbl)      (dbl)         (dbl)    (dbl)    (dbl)         (dbl)
1 2015-05-04 09:29:59 0.05788732 0.0007478696 0.0007478545 0.09633803 -0.0446830986 3533.518 274079.9 -0.0006432937
2 2015-05-04 10:00:00 0.04948394 0.0006362707 0.0006362707 0.07586009  0.0088016055 2416.431 187953.1  0.0000000000
3 2015-05-04 10:30:00 0.05554795 0.0007142532 0.0007142532 0.06417808 -0.0002739726 3245.574 252422.0  0.0000000000
4 2015-05-04 10:59:59 0.04863014 0.0006194244 0.0006194244 0.08434442  0.0024951076 3563.401 279503.9  0.0000000000
5 2015-05-04 11:30:00 0.05761986 0.0007319037 0.0007319037 0.07851027  0.0154965753 2010.943 158429.1 -0.0006339144
6 2015-05-04 12:00:00 0.04957627 0.0006285051 0.0006285051 0.07025424  0.0070762712 1819.908 143546.0  0.0000000000
Variables not shown: vol_30_sum (dbl), vol_30_mean (dbl), p_return_sqr (dbl), p_return_mean (dbl), Lim_or_out (dbl),
  closing_price (dbl), closing_vol (dbl)

请帮助解决此错误。

仍然没有可复制的示例,但是从您的
类(q1)
来看,
q1
似乎是一个
tbl_df
(dplyr包生成的数据帧类型),而
write.xlsx
需要一个
data.frame

尝试按预期给
write.xlsx
一个普通的
data.frame
。e、 g

write.xlsx(as.data.frame(q1), ...)
这里有一个(也就是说,您可以将其复制粘贴到R会话中,以复制bug+修复)


第一列(时间戳)的日期/时间格式似乎存在错误。如果将第一列转换为字符,它应该可以工作。 因此,您可以将第一列更改为

q1[,1] <- as.character(q1[,1])

q1[,1]我发现使用dplyr对变量进行分组时会发生这种情况。如果以%>%ungroup()结束一个链,它似乎解决了

您所说的“使用write.xlsx函数打印相同内容时”是什么意思?您正在进行
打印(write.xlsx(…)
?还是在调用
write.xlsx(…)
时出错?你能提供一个可复制的例子吗?输出是使用write.xlsx(q1,file=paste0(文件地址“,”u6“,”xlsx“),sheetName=“Sheet1”,col.names=TRUE,row.names=FALSE,append=TRUE)打印的。你能提供一个吗?另外,你的“data.frame的dput”看起来不像
dput(my.dataframe)
将产生,您可以查看
类(my.dataframe)
并确认(唯一)类是“data.frame”?类(q1)[1]“tbl_df”“tbl”“data.frame”这起作用了!以ungroup()结尾允许我保持dplyr分析链的灵活性,并且仍然使用write.xlsx()导出
write.xlsx(as.data.frame(iris2), file='test.xlsx', sheetName="Sheet1", col.names=TRUE, row.names=FALSE, append=TRUE)
# huzzah!
q1[,1] <- as.character(q1[,1])