【R】行或列数目不同的两个数据框如何用rbindcbind合并?

Python018

【R】行或列数目不同的两个数据框如何用rbindcbind合并?,第1张

通常我们用rbind和cbind合并相同行列数据框。当两个数据框具有不同行列数目时,直接用会报错。

rbind/cbind对于行列名称一定要相同,顺序可不同,例如:

那么怎么强行合并,即相同部分合并,不同部分用NA取代?

可以看到,行列名可以不同,顺序和rbind一样,无关紧要。但最好还是相同顺序吧。

rbind/cbind对数据合并的要求比较严格:合并的变量名必须一致;数据等长

cbind是根据列进行合并,合并的前提是所有数据行数相等。

 rbind是根据行进行合并,就是自动往下面顺延,但要求所有数据列数是相同的才能用rbind.

如果空的地方用NA 表示的话,那么就可以用如下编码实现

假设 第一组数据是 a1  第二组数据是a2, 他们的行数是一致的!

index<- is.na(a1)

a1[index] <- a2[index]

# here is a example

a1<-c(1,NA,3,NA,5,6,NA,8,9,10)

a1

a2<- 1:10

a2

length(a1)

length(a2)

index<-is.na(a1)

a1[index]<-a2[index]

a1

结果截图:

不知道是不是你想要的结果~

如果你能提供数据结构的话,我或许可以更加明确的提供方法!