.jcall(cell, "V", "setCellValue", value) 中的错误:尝试 write.xlsx 时未找到带有签名 ([D)V 的 setCellValue 方法

2024-03-18

library(dtplyr)
library(xlsx)
library(lubridate)

'data.frame':   612 obs. of  7 variables:
 $ Company           : Factor w/ 10 levels "Harbor","HCG",..: 6 10 10 3 6 8 6 8 6 6 ...
 $ Title             : chr  NA NA NA NA ...
 $ Send.Offer.Letter :Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 612 obs. of  1 variable:
  ..$ Send Offer Letter: Date, format: NA NA NA NA ...
  ..- attr(*, "spec")=List of 2
  .. ..$ cols   :List of 1
  .. .. ..$ Send Offer Letter: list()
  .. .. .. ..- attr(*, "class")= chr  "collector_character" "collector"
  .. ..$ default: list()
  .. .. ..- attr(*, "class")= chr  "collector_guess" "collector"
  .. ..- attr(*, "class")= chr "col_spec"
 $ Accepted.Position : chr  NA NA NA NA ...
 $ Application.Date  : chr  NA NA NA NA ...
 $ Hire.Date..Start. :Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 612 obs. of  1 variable:
  ..$ Hire Date (Start): POSIXct, format: "2008-05-20" NA NA "2008-05-13" ...
 $ Rehire..Yes.or.No.: Factor w/ 23 levels "??","36500","continuing intern",..: NA NA NA NA NA NA NA NA NA NA ...

我有一个关于新员工的极其混乱的数据集(它完全是在 Excel 电子表格上徒手输入的)。当然,与日期相关的变量会让事情变得困难。输入格式不一致,有时随机字符串是日期的一部分(想想 5/17,具体日期待定)等。我最终将日期统一格式化为 POSIXct 格式,但这导致了您在上面看到的奇怪情况我的列中出现嵌套变量。我已经将两个日期变量强制转换为 as.character($Accepted.Position 和 $Application.Date),因为我已经看到 POSIXct 日期格式导致 write.xlsx 出现问题的示例。

当我尝试写入 xlsx 时,我得到以下信息:

write.xlsx(forstack, file = "forstackover.xlsx", col.names = TRUE)
Error in .jcall(cell, "V", "setCellValue", value) : 
  method setCellValue with signature ([D)V not found
In addition: There were 50 or more warnings (use warnings() to see the first 50)

我的 dput 太长,无法在这里发布,所以这里是它的粘贴箱:堆栈输出 https://pastebin.com/hHf7suRr

尝试使用 as.character 强制 $Hire.Date..Start 会产生奇怪的结果,我已将其部分粘贴到此处:as.字符结果 https://pastebin.com/15ezvSrC

我不确定在这里采取什么行动。我在这里发现了类似的讨论:与此类似的堆栈问题 https://stackoverflow.com/questions/37594411/convert-classes-tbl-df-tbl-and-data-frame-into-dataframe-with-r#

但该用户试图调用列的特定部分来进行 ggplot2 绘图。任何帮助表示赞赏。


我在尝试使用 xlsx 包将 tibble tbl_df 写入 xlsx 时遇到了这个问题。

当我添加时抛出错误row.names = FALSE选项,但没有错误就没有row.names call.

我转换了tbl_df to data.frame它起作用了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.jcall(cell, "V", "setCellValue", value) 中的错误:尝试 write.xlsx 时未找到带有签名 ([D)V 的 setCellValue 方法 的相关文章

随机推荐