이것은 사소한 일일 수 있지만 특별한 경우가있어서 커뮤니티와 검증 할 생각입니다.R의 윈도우 기능 : 디버깅 cumsum
나는 다음과 같은 치수 $의 PID를 데이터 프레임을 가지고 : NUM 그룹 $ : CHR $ 상태 :
df <- tibble::tribble(
~pid, ~group,~status,
12, "g1", 1,
12, "g2", 0,
18, "g3", 1,
18, "g1", 1,
18, "g2", 1
)
지금 윈도우 함수에서 작업하는 동안 나는 cumsum을 적용해야 CHR () 'PID'임 있도록 다음과 같은 코드를 사용하여 각 그룹을 통해
r2 <- df%>%
group_by(pid)%>%
mutate(col = cumsum(status))
그리고 R2는
01,232,706,561 될 것으로 기대하고 있습니다하지만 제 r2 결과는 그렇지 않습니다. 는 PID 컬럼을 통해 '창'을 생성하지 않는 것처럼 나에게 보였다 반대로
pid group status col
12 g1 1 1
12 g2 0 1
18 g3 1 2
18 g1 1 3
18 g2 1 4
에. 나는 문자로 PID를 변환했지만 여전히 같은 결과를 시도했다.
만약 cumsum에 대한 나의 이해가 정확하다면, 그러한 행동에 대한 가능한 이유는 무엇입니까? 패키지에 관한 한 당으로
, 나는 dplyr, plyr은 sqldf는 data.table, lubridate는
'status'는'문자'또는'숫자'벡터입니까? 수치 여야하지만 질문의 성격 인 것 같습니다. –
내 상태가 ... 상태가 int입니다. 질문에 관련이없는 다른 열도 데이터에 포함되어 있습니다. – hbabbar
isn'group_by' 공간을 사용할 수 없지만 다른 결과는 올바른 결과를 제공합니다. 데이터의 '출력'을 게시 할 수 있습니다. 그 안에 무언가가있을 수 있습니다. – alistaire