首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:当数据帧包含字符串和数字时如何使用writexl

R:当数据帧包含字符串和数字时如何使用writexl
EN

Stack Overflow用户
提问于 2019-06-26 05:14:04
回答 2查看 302关注 0票数 2

我是R的新手,我正在尝试将数据保存到xlsx文件中。我使用的是writexl (xlsx造成了麻烦)。

当我尝试使用write_xlsx时,似乎在我的数据框中包含字符串和整数会导致问题。

我在这里重新创建了这个问题:

代码语言:javascript
复制
library(writexl)

matrix <- matrix(1,2,2)
block <- cbind(list("ones","more ones"),matrix)
df <- data.frame(block)

data = list("sheet1"=df)

write_xlsx(data, path = "data.xlsx", col_names = FALSE, format_headers = FALSE)

文件data.xlsx正确包含"sheet1",但为空。我想要

个数1 1

更多的1 1

有没有办法使用write_xlsx得到这个输出?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-26 05:21:01

我通常使用openxlsx包。尝试修改以下代码:

代码语言:javascript
复制
library(openxlsx)
wb <- createWorkbook()
addWorksheet(wb, "Sheet1")
writeData(wb, "Sheet1", df, colNames = FALSE)
saveWorkbook(wb, "test.xlsx", overwrite = TRUE)
票数 1
EN

Stack Overflow用户

发布于 2019-06-26 05:37:08

我会提出一个关于包的github代码库的问题:https://github.com/ropensci/writexl/issues

执行此操作:

代码语言:javascript
复制
df <- data.frame(
  X1 = c("ones", "more ones"),
  X2 = c(1, 1),
  X3 = c(1, 1)
)

write_xlsx(df, path = "data.xlsx", col_names = FALSE, format_headers = FALSE)

工作正常。我会说这是因为你代码中的df有列表列:

代码语言:javascript
复制
> str(df)
'data.frame':   2 obs. of  3 variables:
 $ X1:List of 2
  ..$ : chr "ones"
  ..$ : chr "more ones"
 $ X2:List of 2
  ..$ : num 1
  ..$ : num 1
 $ X3:List of 2
  ..$ : num 1
  ..$ : num 1

不确定程序包是否具有此功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56762095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档