R 循环 write.xlsx()
R loop over write.xlsx()
我想使用 openxlsx
中的函数 write.xlsx()
将几个数据帧导出到 excel 文件。因此,例如以下内容:
library(openxlsx)
x <- c(1,2,3)
for (i in x) {
name <- paste("sheet", i, sep = "")
assign(name, data.frame(1:4, 2:3))
path <- paste("/some_directory/",name,".xlsx" , sep = "")
write.xlsx(name, file = path)
}
这确实创建了三个不同的数据框,值为 1 到 4 和 2 到 3,它们具有正确的名称,它还创建了三个具有正确名称的不同 excel 文件,但是 excel 文件只包含名称而不是数据框中的值。有谁知道如何更改它?
您需要将 data.frame 保存在一个变量中:
library(glue)
library(openxlsx)
x <- c(1,2,3)
for (i in x) {
name <- paste("sheet", i, sep = "")
df <- data.frame(1:4, 2:3) # This step is missing in your example
assign(name, df)
path <- glue("/some_directory/{name}.xlsx", name = name)
write.xlsx(df, file = path)
}
``
我想使用 openxlsx
中的函数 write.xlsx()
将几个数据帧导出到 excel 文件。因此,例如以下内容:
library(openxlsx)
x <- c(1,2,3)
for (i in x) {
name <- paste("sheet", i, sep = "")
assign(name, data.frame(1:4, 2:3))
path <- paste("/some_directory/",name,".xlsx" , sep = "")
write.xlsx(name, file = path)
}
这确实创建了三个不同的数据框,值为 1 到 4 和 2 到 3,它们具有正确的名称,它还创建了三个具有正确名称的不同 excel 文件,但是 excel 文件只包含名称而不是数据框中的值。有谁知道如何更改它?
您需要将 data.frame 保存在一个变量中:
library(glue)
library(openxlsx)
x <- c(1,2,3)
for (i in x) {
name <- paste("sheet", i, sep = "")
df <- data.frame(1:4, 2:3) # This step is missing in your example
assign(name, df)
path <- glue("/some_directory/{name}.xlsx", name = name)
write.xlsx(df, file = path)
}
``