有没有办法根据它们的差异合并两个数据帧?例如,我们说这个数据框......
set.seed(1234)
example1 = data.frame(Area=c("Zone1","Zone2","Zone3","Zone4"),
X1a=sample(10,4), X1b=sample(10,4), X1c=sample(10,4),
X1d=sample(10,4), X1e=sample(10,4))
example1
# Area X1a X1b X1c X1d X1e
#1 Zone1 9 3 1 10 3
#2 Zone2 3 10 2 8 10
#3 Zone3 10 9 7 1 5
#4 Zone4 2 2 4 4 2
我们做了一些像这样的操作,我们最终得到......
example2<-example1[-c(2,4),]
example2
# Area X1a X1b X1c X1d X1e
#1 Zone1 9 3 1 10 3
#3 Zone3 10 9 7 1 5
有没有办法根据它们之间的差异来组合这两者,例如说我想将example2与example1结合起来,有没有办法像这样结束?
example3<-combineDiff(original=example2, use= example1)
example3
# Area X1a X1b X1c X1d X1e
#1 Zone1 9 3 1 10 3
#2 Zone2 3 10 2 8 10
#3 Zone3 10 9 7 1 5
#4 Zone4 2 2 4 4 2
所以我们最终不会重复Zone1和Zone3行的重复?还有办法改变这些新行的值吗?比如像这样的东西?
example3<-combineDiff(original=example2, use=example1, newRows=0)
example3
# Area X1a X1b X1c X1d X1e
#1 Zone1 9 3 1 10 3
#2 Zone2 0 0 0 0 0
#3 Zone3 10 9 7 1 5
#4 Zone4 0 0 0 0 0
我问,因为我正在使用传单和r来查看一些数据,并且在我对数据进行采样时遇到了麻烦(例如“仅显示来自男性的数据”或“超过50岁的人”) 。我设置它的方式是数据基于checkboxinput得到subsetet,并且我经常使用更少的行然后我试图可视化的区域,这会混淆输出,所以我需要一种方法重新插入丢失的行/区域并更改它们的值,以便我知道它们应该为零或NA。
答案 0 :(得分:0)
如果第一个(或两个)数据帧每个Area值有一行,您可以尝试:
example <- rbind(example1[!example1$Area %in% example2$Area, ], example2)
如果您想按区域列排列它们,您可以执行以下操作:
example <- example[sort(example$Area), ]