使用R将多个数据框导出到一个Excel表格中
问题的原因是在同一个工作表中混合使用数据框的名称和数据可能是一个不好的主意。解决方法是使用`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工作表中。但是为什么在同一个工作表中混合使用数据框的名称和数据会是一个不好的主意呢?我一直在这样做,将很多统计测试连接在一起,却从来没有遇到过问题。