[英]Comparing elements between groups in R
我有一個數據幀,安排如下:
DEPUTIES CHAMBER (...)
1 2496 1
2 2577 1
3 2577 2
4 2577 3
5 2577 4
6 2578 2
(...)
我有2322個不同的代表和4個會議廳,但有些代表出現在一個以上的會議廳中。 我想做的是創建一個變量,該變量指示代理是否在前一個會議廳(“改選”)中(第一個會議廳稍后將被丟棄)。 我認為這可能很簡單,但是有人可以幫助我嗎?
像這樣?
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。不確定如果有人從大於1的腔室開始但從未前進,該怎么辦?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.