比较R中的组之间的元素

时间:2014-03-29 16:45:34

标签: r comparison

我的数据框排列如下:

DEPUTIES     CHAMBER       (...)    
1 2496       1       
2 2577       1       
3 2577       2       
4 2577       3        
5 2577       4        
6 2578       2     
(...)

我有2322名不同的代表和4个议院,但有些代表出现在不止一个议院。我想要做的是创建一个变量,指示副代表是否在前一个房间(“重新选举”)(第一个房间将被丢弃)。我认为这可能很简单,但有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

喜欢这个吗?

df <- df[order(df$DEPUTIES,df$CHAMBER),]
df$r <- unlist(aggregate(CHAMBER~DEPUTIES,df,function(x)c(NA,diff(x)))$CHAMBER)
df
#   DEPUTIES CHAMBER  r
# 1     2496       1 NA
# 2     2577       1 NA
# 3     2577       2  1
# 4     2577       3  1
# 5     2577       4  1
# 6     2578       2 NA

这由代表和房间命令df(已经按照这样的方式订购了,但可以肯定......)。然后,使用aggregate(...),为每个代理计算当前室数和之前的室数之间的差异。如果这> 0,则它们从例如腔室1流到腔室2.不确定如果有人在腔室中启动该怎么办&gt; 1但永远不会前进??