我使用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)
}发布于 2017-07-05 20:44:08
问题出在您创建rounded对象的位置。您需要使用[[而不是[来获取列表当前列表元素。将rounded =行更改为以下内容应该可以纠正此问题。
rounded = data.frame(lapply(data.list[[idx]], function(x)https://stackoverflow.com/questions/44922996
复制相似问题