我的数据框排列如下:
DEPUTIES CHAMBER (...)
1 2496 1
2 2577 1
3 2577 2
4 2577 3
5 2577 4
6 2578 2
(...)
我有2322名不同的代表和4个议院,但有些代表出现在不止一个议院。我想要做的是创建一个变量,指示副代表是否在前一个房间(“重新选举”)(第一个房间将被丢弃)。我认为这可能很简单,但有人可以帮助我吗?
答案 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但永远不会前进??