使用R将多个数据框导出到一个Excel表格中

17 浏览
0 Comments

使用R将多个数据框导出到一个Excel表格中

在R中,我有大约30个不同的数据框,我希望它们都在一个Excel工作表中,并且显示数据框的名称。\n对于输出,我希望得到类似这样的结果:\n

数据框名称1
列1    列2
  x      x
  x      x
数据框名称2
列1    列3
  x      x

\n作为一个迭代的过程,我应该如何做?

0
0 Comments

问题的原因是在同一个工作表中混合使用数据框的名称和数据可能是一个不好的主意。解决方法是使用`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")

这个方法可以实现将多个数据框导出到一个Excel工作表中。但是为什么在同一个工作表中混合使用数据框的名称和数据会是一个不好的主意呢?我一直在这样做,将很多统计测试连接在一起,却从来没有遇到过问题。

0