A, B 및 C로 코딩 된 일련의 이벤트가 있습니다. 각 요소에 대해이 요소가 반복 된 횟수를 계산해야합니다 전에 반복되었지만 카운터가 각 행에 대해 하나씩 감소해야합니다. 각 항목의 첫 번째 만남에서 카운터는 0입니다. 예 :요소가 반복되거나 반복되지 않는 횟수를 Count (R)
x<-c('A','A','A','B','C','C','A','B','A','C')
y<-c(0,1,2,0,0,1,-2,-4,-4,-3)
cbind(x,y)
x y
[1,] "A" "0"
[2,] "A" "1"
[3,] "A" "2"
[4,] "B" "0"
[5,] "C" "0"
[6,] "C" "1"
[7,] "A" "-2"
[8,] "B" "-4"
[9,] "A" "-4"
[10,] "C" "-3"
x에서 x 열을 생성해야합니다. 나는 실행 길이에 rle
을 사용할 수 있다는 것을 알고 있지만 카운터 감소를 위해 특정 이벤트가 마지막으로 발생한 이후로 시간을 얻는 방법을 알지 못합니다.
미안하지만, 작은 실수는 행 7에서 값이 -2가되어야합니다. 7 번 이벤트 == 'A'의 이전 값인 'A'카운터는 2 번 (3 번 행)이므로 4 번 카운터 = 1, 5 번 카운터 = 0, 6 번 카운터 = -1, 행상 7 카운터 = -2. B에 대해서도 마찬가지입니다. B의 마지막 카운터 값은 0이었고 이전 B 이후 4 행이있었습니다. 현재 이벤트가 이전 행과 동일하면 카운터가 1 씩 증가하고 그렇지 않으면 1 씩 감소합니다. 각 이벤트 유형에 대해 별도의 카운터가 있습니다. –
또한 9 번 행의 A 값을 실수로 수정했습니다. 그 일을 계산하면 어떻게됩니까. –