2017-12-04 21 views
0

個々のレベルの既存の変数を条件とするグループで変数を作成したい。各個体に外れ値変数1,2,3があります。グループに新しい変数を作成して、外れ値変数= 2のグループに少なくとも1人の個体が存在する場合は常に新しいvar = 2にします。そして新しいVAR = 3外れ値変数、そのグループ内の少なくとも1つの個々= 3.R(書き込み機能)内のグループによって条件付きで変数を作成

データはこの

grpid id outlier goutlier 
1  1 1  2 
1  2 1  2 
1  3 2  2 
2  4 1  3 
2  5 3  3 
2  6 1  3 
3  7 1  1 
3  8 1  1 
3  9 1  1 

任意のようなこの

grpid id outlier 
1  1 1 
1  2 1 
1  3 2 
2  4 1 
2  5 3 
2  6 1 
3  7 1 
3  8 1 
3  9 1 

理想的な出力のように見えますががあるたびに提案?

ありがとうございます!

答えて

1

それはdplyr

library(dplyr) 
df <- read.table(header = TRUE,sep = ",", 
       text = "grpid,id,outlier 
1,1,1 
1,2,1 
1,3,2 
2,4,1 
2,5,3 
2,6,1 
3,7,1 
3,8,1 
3,9,1") 

df %>% group_by(grpid) %>% mutate(goutlier = max(outlier)) 
と簡単です。
関連する問題