簡體   English   中英

比較R中組之間的元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM