我使用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)
}
答案 0 :(得分:1)
问题来自于您创建rounded
对象的位置。您需要使用[[
而不是[
来获取列表当前列表元素。将rounded =
行更改为以下内容应更正此问题。
rounded = data.frame(lapply(data.list[[idx]], function(x)