ためのmutate内の「一致」を使用しようとすると、私は、id列とブールイベント列を持つデータフレームを持っている:私は、次の列を作成する各id
に対してR:発行グループ化TBL
x <- data.frame(id = c(0,0,0,1,1,1,2,2,2,2,3,3,3),
event = c(F,F,F,T,F,F,F,T,F,F,F,T,T))
そのイベントが最初にある位置でそれに行くTRUE
。だから、id 0
のために何TRUE
はありませんid 1
するための第1の要素はので、私は、私は2
を得るid 2
ため、1
を取得し、id 3
のために、私はまた2
を得るTRUE
で、私はNA
を得るようです。
予想される出力:
id event event_num
(dbl) (lgl) (int)
1 0 FALSE NA
2 0 FALSE NA
3 0 FALSE NA
4 1 TRUE 1
5 1 FALSE 1
6 1 FALSE 1
7 2 FALSE 2
8 2 TRUE 2
9 2 FALSE 2
10 2 FALSE 2
11 3 FALSE 2
12 3 TRUE 2
13 3 TRUE 2
がしようとすると、私はコードを使用し、これを取得するには:
x %>% group_by(id) %>% mutate(event_num = match(TRUE, event))
しかし、これはNA
代わりの2
あり
id event event_num
(dbl) (lgl) (int)
1 0 FALSE NA
2 0 FALSE NA
3 0 FALSE NA
4 1 TRUE 1
5 1 FALSE 1
6 1 FALSE 1
7 2 FALSE NA
8 2 TRUE NA
9 2 FALSE NA
10 2 FALSE NA
11 3 FALSE 2
12 3 TRUE 2
13 3 TRUE 2
すなわちid
2私に与えますが。
EDIT 更新dplyr 0.5.0に、それは我々がwhich
を使用し、最初のappearenceを選択することができます
を使用することができますか?私はあなたの状態が明確ではないと思う。 – akrun
'match 'が別のパッケージによってマスクされているかどうかチェックする。コンソールで '> match'から何を得るのですか? –
dplyrを0.5.0にアップデートしたときに動作し、以前は0.4.3 – user1165199