您好我想合併3個dataframes這樣的:如何合併R 3中數據幀
df1
A B
1 1 6
2 2 7
3 3 8
4 4 9
5 5 1
df2
C D
1 NA NA
2 NA NA
3 3 8
4 4 9
5 5 1
6 8 9
7 1 2
df3
E F
1 NA NA
2 NA NA
3 5 6
4 4 9
merged dataframe :
A B C D E F
1 1 6 NA NA NA NA
2 2 7 NA NA NA NA
3 3 8 3 8 NA NA
4 4 9 4 9 NA NA
5 5 1 5 1 NA NA
6 NA NA 8 9 NA NA
7 NA NA 1 2 NA NA
8 NA NA NA NA 5 6
9 NA NA NA NA 4 9
的事情是我怎麼能這3個dataframes之間的合併沒有鬆動的值,如果有一個函數R中誰做,因爲我做了很多與合併功能操作,但沒有奏效
u能幫助我,謝謝
file1 <- paste("C:\\df1.csv")
table1 <- read.table(file1,sep=",",header=T,fill=TRUE)
file2 <- paste("C:\\df2.csv")
table2 <- read.table(file2,sep=",",header=T,fill=TRUE)
file3 <- paste("C:\\df3.csv")
table3 <- read.table(file3,sep=",",header=T,fill=TRUE)
d2<-table3[5:nrow(table3),]
for(i in 1:4) { d2 <- rbind(rep(NA, ncol(table3)), d2) }
row.names(d2) <- 1:nrow(d2)
d3<-table1[10:nrow(table1),]
for(i in 1:9) { d3 <- rbind(rep(NA, ncol(table1)), d3) }
row.names(d3) <- 1:nrow(d3)
temp_merge <-merge(d3, d2,by=0, all = TRUE)
temp_merge <- temp_merge[,-1]
final_merge <- merge(table2,temp_merge, by=0, all=TRUE)
row.names(final_merge) <- 1:nrow(final_merge)
final_merge <- final_merge[,-1]
這裏「合併」的規則是什麼? – A5C1D2H2I1M1N2O1R2T1
'cbind()'可用於綁定data.frames togehter - 但這需要它們具有相同數量的行。在你的例子中,我不明白爲什麼額外的'NA's被添加到df2的底部,但是在df3的頂部。 –
請向我們展示您嘗試過的代碼並解釋它爲什麼不符合您的需求。您似乎通過行名稱('by = 0')合併了df1和df2。但'添加'df3的規則尚不清楚。沒有[類似的帖子對我有幫助嗎?](http://stackoverflow.com/search?q= [r] +合併+許多+多個+數據+框架)。如果不是,爲什麼? – Henrik