如何将多个数据框合并到一个表中并导出到Excel?

时间:2015-12-02 08:31:09

标签: r excel

我想将一些数据框合并到一个表中,然后导出到Excel。数据框生成如下。

sex <- c("male","female")
count1 <- c(304,410)
df.sex <- data.frame(sex,count1)
df.sex[,"per"] <- df.sex$count1/sum(df.sex$count1)

agegp <- c("<=24","25-29","30-34","35-39")
count2 <- c(204,250,125,135)
df.agegp <- data.frame(agegp,count2)
df.agegp[,"per"] <- df.agegp$count2/sum(df.agegp$count2)

df.sex
sex count1       per
male    304 0.4257703
female    410 0.5742297

df.agegp
agegp count2       per
<=24    204 0.2857143
25-29    250 0.3501401
30-34    125 0.1750700
35-39    135 0.1890756

由于两个df的第一列不同,我无法将它们绑定并导出到Excel。

我想要生成的是如下表格并将其导出到Excel。

有人可以帮忙吗?

       count    percentage
sex     
male    304     0.4257703
female  410     0.5742297
agegp       
<=24    204     0.2857143
25-29   250     0.3501401
30-34   125     0.1750700
35-39   135     0.1890756

2 个答案:

答案 0 :(得分:2)

怎么样?

sink(file = "mergedPrinting.csv")

cat("First Frame:\n") 
write.csv(df.agegp, row.names = F)

cat("--------\n")

cat("Second Frame:\n")
write.csv(df.sex, row.names = F)

sink()

enter image description here

答案 1 :(得分:1)

我知道有两个EXCEL导入/导出R-packages,它们都允许您定义左上角的单元格,在其中开始编写data.frame并使用标题。

在你的情况下,我将标签,计数,百分比,性别,年龄段作为单个值写入单元格,然后将两个带有rownames但没有列名的data.frames写入正确的位置。

请参阅两个软件包的内容,了解如何打开/创建用于编写的EXCEL文件以及用于编写data.frames的函数。