gpt4 book ai didi

r - 使用列表名称作为使用 XLConnect 的工作表的名称

转载 作者:行者123 更新时间:2023-12-02 07:42:20 28 4
gpt4 key购买 nike

正如标题所暗示的,我想做上面的事情。示例如下:

library(stringr)
library(XLConnect)

df <- data.frame(do.call("rbind", lapply(1:10, function(i) rnorm(10))))
df.list <- rep(list(df), 10)
names(df.list) <- paste("DataFrame", str_pad(1:length(df.list), 2, pad = "0"), sep = "")

df.list.workbook <- loadWorkbook("df.list.workbook.xlsx", create = TRUE)
lapply(1:length(df.list), function(i) createSheet(df.list.workbook, name = names(df.list[i])))
lapply(df.list[1:length(df.list)], function(i) writeWorksheet(df.list.workbook, i, sheet = names(i)))

最后一行是它抛出错误的地方:

Error: IllegalArgumentException (Java): Sheet index (-1) is out of range (0..9)

为了解决这个问题,我尝试了:

lapply(df.list[1:length(df.list)], function(i) print(names(i)))

并意识到列的名称被传递给工作表变量。有什么办法可以克服这个问题吗?

最佳答案

您需要lapply索引而不是列表:

lapply(seq_along(df.list), function(i) writeWorksheet(df.list.workbook, df.list[[i]], sheet = names(df.list)[i]))

关于r - 使用列表名称作为使用 XLConnect 的工作表的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9850150/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com