我有两个具有不同行号的数据框:
class1<-c(1,2,5,6,7)
abund1<-c(10.4,7.5,7.1,5.1,3.2)
df1<-data.frame(class1,abund1)
class2<-c(1,2,3,4,5,6,7)
abund2<-c(9.5,8.4,8,6.3,6,2.4,1.2)
df2<-data.frame(class2,abund2)
我想比较这两个数据帧,但我需要相同数量的行。我的目的是用零填充所有与df2不匹配的类。解决方案如下:
class abund
1 10.4
2 7.5
3 0.0
4 0.0
5 7.1
6 5.1
7 3.2
有任何想法吗?太感谢了!
kk<-merge(df1,df2,by.x="class1",by.y="class2",all.y=TRUE)[-3]
kk[is.na(kk$abund1),2]<-0
> kk
class1 abund1
1 1 10.4
2 2 7.5
3 3 0.0
4 4 0.0
5 5 7.1
6 6 5.1
7 7 3.2
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句