r语言write.xlsx在哪个包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了r语言write.xlsx在哪个包相关的知识,希望对你有一定的参考价值。

参考技术A xlsx包。R是用于统计分析、绘图的语言和操作环境。根据查询相关资料显示r语言write.xlsx在xlsx包。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

write.xlsx的编码问题(openxlsx)

我使用write.xlsx()函数(来自openxlsx包)将列表对象转换为excel电子表格,其中列表的每个元素都转换为excel文件的“工作表”。在过去,这个功能非常有用,我从未遇到过任何问题。我的理解是,这个包和函数特别不需要在计算机上进行任何特定的Java更新以使其工作。

但是,最近我发现该函数产生错误。这是我在控制台中为列表运行write.xlsx()时所说的内容:

Error in gsub("&", "&", v, fixed = TRUE) : 
  input string 5107 is invalid UTF-8

我已经确定了导致问​​题的数据帧,但我不确定如何识别数据帧的哪个部分导致错误。

我甚至继续将enc2utf8()函数用于此数据框中的所有列,但我仍然遇到错误。我在数据框本身上使用了substr()函数,它向我展示了每列的第一个n字符,但我没有看到输出中有任何明显的问题。

我甚至继续使用install.packages()函数再次重新下载openxlsx包,以防任何更新。

有谁知道如何确定错误的原因?这是函数,因为它写在包中?如果问题在于数据本身的编码,那么enc2utf8()不足以解决问题吗?

谢谢!

答案

我刚遇到同样的问题。在此question的基础上,您可以使用以下任一方法替换数据框中的所有错误字符:

library(dplyr)
df %>%
  mutate_if(is.character, ~gsub('[^ -~]', '', .))

仅适用于字符列,或:

df %>%
  mutate_all(~gsub('[^ -~]', '', .))  

对于所有列,然后使用write.xlsx()导出到XLSX。

以上是关于r语言write.xlsx在哪个包的主要内容,如果未能解决你的问题,请参考以下文章

r语言index函数在哪个包

如何将R语言中的表格数据输出为Excel文件

r语言createdatapartition在哪个函数中

R语言中知道一个函数名,怎么查找R对应的函数包,比如dapc,想知道它在哪个函数包里才可以调用

R语言量化投资常用包总结

R语言-查看加载包卸除加载包及安装包与卸载包