我的目标是将多个数据框导出到单个Excel工作表中.

我想要一个通用的代码,可以与任何名单.

Outline of the data

# df1
  a
1 1
2 1

# df2
  b c
1 3 4

# vec
[1] "string"

Desired output

     [,1]     [,2]
[1,] "a"      NA  
[2,] "1"      NA  
[3,] "1"      NA  
[4,] NA       NA  
[5,] "b"      "c" 
[6,] "3"      "4" 
[7,] NA       NA  
[8,] "string" NA 

Data

df1 <- data.frame(a = c(1, 1))
df2 <- data.frame(b = 3, c = 4)
vec <- "string"
l   <- list(df1, df2, vec)

推荐答案

正如您所说,您需要导出到单个Excel工作表.您可以使用带有简单循环的{openxlsx}来计算列表中每个元素在Excel工作表中的起始行.

library(openxlsx)

wb <- createWorkbook()
addWorksheet(wb, "sheet1")
sr <- 1 # startRow

for(x in l) {
  writeData(wb, "sheet1", x, startRow = sr)
  sr <- sr + ifelse(is.data.frame(x), nrow(x), length(x)) + 2L
}

saveWorkbook(wb, "test.xlsx", overwrite = TRUE)
  • 图:test.xlsx

R相关问答推荐

如何将标签移动到堆叠甜甜圈图表中每个切片的边缘?

在集合群体模型中计算时间步依赖的速率/参数

分组时间连续值

R通过字符串中的索引连接数据帧r

更改Heatmap Annotation对象的名称

如何在xyplot中 for each 面板打印R^2

r替换lme S4对象的字符串的一部分

lightgbm发动机在tidymmodels中的L1正则化""

在GGPLATE中将突出的点放在前面

根据元素和前一个值之间的差值过滤矩阵的元素

根据类别合并(汇总)某些行

线性模型斜率在减少原始数据时提供NA

SHINY:使用JS函数应用的CSS样式显示HTML表格

如何识别倒排的行并在R中删除它们?

如何根据数据帧中的值从该数据帧中提取值?

将全局环境变量的名称分配给列表中的所有元素

创建列并对大型数据集中的特定条件进行成对比较的更高效程序

在ggploy中创建GeV分布时出错

随机将数据帧中特定列上的某些行设置为NA

名字的模糊匹配