2017-09-18 6 views
0

특정 문자열이 열에 나타날 때마다 증가하는 변수를 만들려고합니다. 이벤트에 문자열 "x", "y"또는 "z"가 나타나면 시퀀스가 ​​증가하기를 원합니다. 그렇지 않으면 상수를 유지하려고합니다. 어떤 도움을 주시면 감사하겠습니다! 아래 참조 테이블 : 당신의 질문의 요청에 따라이 for 루프는 Seq를 업데이트 할 수 있습니다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

'AVE (안양 $ 이벤트 % %의 C ("X"에서, "Y" , "z"), TRUE, FUN = cumsum)' –

+1

실제로,'cumsum (% c ("x", "y", "z"))의 cumsum (df $ 이벤트 %)가 작동합니다. –

답변

0

:

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

@db의 코멘트 최고 일했습니다. – SoccerAnalytics26