2017-09-18 11 views
0

特定の文字列が列に表示されたときにインクリメントする変数を作成します。イベントに文字列 "x"、 "y"、 "z"が表示された場合は、シーケンスをインクリメントする必要があります。そうでなければ、定数を維持します。どんな助けもありがとう! 以下の表を参照してください。rの特定の文字列の変更に基づいて変数をインクリメント

Event Seq 
1  a  1 
2  b  1 
3  x  2 
4  c  2 
5  a  2 
6  b  2 
7  y  3 
8  a  3 
9  z  4 
10 b  4 
11 y  5 
12 a  5 
13 b  5 
+4

%のC( "X"、 "Y" で 'AVE(DFの$イベント% 、 "z")、TRUE、FUN = cumsum) ' –

+1

実際には' cumsum(%c( "x"、 "y"、 "z"))の 'df $ Event%は動作します。 –

答えて

0

あなたは、あなたの質問に要求されるように、このforループはSeqを更新することができます。

for(i in 1:nrow(df)){ 
    if(df$Event[i] %in% c('x','y','z')){ 
    df$Seq[i] <- df$Seq[i] + 1 
    } 
} 

> df 
    Event Seq 
1  a 1 
2  b 1 
3  x 3 
4  c 2 
5  a 2 
6  b 2 
7  y 4 
8  a 3 
9  z 5 
10  b 4 
11  y 6 
12  a 5 
13  b 5 
+0

@@からのコメント最高の仕事をした。 – SoccerAnalytics26

関連する問題