r基于差异

时间:2016-01-14 17:08:10

标签: r leaflet

有没有办法根据它们的差异合并两个数据帧?例如,我们说这个数据框......

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。

1 个答案:

答案 0 :(得分:0)

如果第一个(或两个)数据帧每个Area值有一行,您可以尝试:

example <- rbind(example1[!example1$Area %in% example2$Area, ], example2)

如果您想按区域列排列它们,您可以执行以下操作:

example <- example[sort(example$Area), ]