2015-12-02 84 views
0

我想合併幾個數據框到一個表中,並導出到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的第一列是不同的,我不能rbind他們並導出到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 
+1

您的最佳策略是使用'write.csv'將這兩個df分別導出到csv,然後在excel中合併。將這種數據合併到R中是一團糟。 – mts

+0

我以前將它們導出爲ex​​cel,將兩個df放在單獨的工作表中。你的意思是出口到兩個不同的CSV文件?或者可以導出到一個CSV文件,只需在同一張表中的第一個df下添加第二個DF?我的主要目的是導出到同一張表。謝謝 – cyrusjan

+0

只是從dplyr看join() – MLavoie

回答

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

有兩個EXCEL導入/導出R-包我知道的,都讓你定義左上角的單元格,在其中開始寫你的data.frame和羯羊使用的標題。

在你的情況我會寫標籤,計數,百分比,性別,agegp,單值進入細胞,然後寫兩個data.frames與rownames,但沒有列名到正確的位置。

關於如何打開/創建用於寫入的EXCEL文件和用於寫入data.frames的函數,請參閱這兩個包的暈影。

相關問題