我在r中有大约30个不同的数据框,我希望它们在一个Excel工作表中,同样具有数据框名称。
对于输出我正在寻找类似的东西:
dfname1
col1 col2
x x
x x
dfname2
col1 col3
x x
我应该如何将其作为迭代过程?
答案 0 :(得分:2)
在同一工作表中将数据框架名称与数据分散是个坏主意,但这取决于您。
无论如何,请使用openxlsx
。这是一种方法:
dfname1 <- data.frame(col1 = c("x", "x"), col2 = c("x", "x"), stringsAsFactors = FALSE)
dfname2 <- data.frame(col1 = c("x"), col3 = c("x"), stringsAsFactors = FALSE)
df_list <- list(dfname1=dfname1,
dfname2=dfname2)
library(openxlsx)
wb <- createWorkbook()
addWorksheet(wb, "Foo")
curr_row <- 1
for(i in seq_along(df_list)) {
writeData(wb, "Foo", names(df_list)[i], startCol = 1, startRow = curr_row)
writeData(wb, "Foo", df_list[[i]], startCol = 1, startRow = curr_row+1)
curr_row <- curr_row + nrow(df_list[[i]]) + 2
}
saveWorkbook(wb, "bar.xlsx")
这给你(字面意思)你要求的东西。