openxlsx - 不需要改变标题

时间:2017-07-05 10:00:52

标签: r

我使用openxlsx将data.frames列表写入xlsx文件。我不喜欢包更改列名,以便它们包含工作表名称。有没有办法如何关闭它?我找不到了。

library(openxlsx)

write.list <- function(data.list, filepath, digits=3, row.names=TRUE)
{
  wb = createWorkbook()

  for (i in 1:length(names(data.list))) {
    idx = names(data.list)[i]
    addWorksheet(wb, idx)
    rounded = data.frame(lapply(data.list[idx], function(x)
                                  {if(is.numeric(x)) round(x, digits) else x})) 
    writeData(wb, sheet=i, rounded, rowNames=row.names)
  }

  saveWorkbook(wb, filepath)
}

1 个答案:

答案 0 :(得分:1)

问题来自于您创建rounded对象的位置。您需要使用[[而不是[来获取列表当前列表元素。将rounded =行更改为以下内容应更正此问题。

rounded = data.frame(lapply(data.list[[idx]], function(x)