나는 이것이 상당히 쉬운 질문 인 것처럼 느껴지지만 내 인생에서 나는 대답을 찾지 못하는 것 같습니다. 나는 꽤 표준적인 데이터 프레임을 가지고 있으며, 어떤 값 (정확한 값 또는 그 값보다 큰 값)에 도달 할 때까지 값의 열을 합산하는 것이고, 그 시점에서 1을 새로운 열 (레이블이 붙은 유지)를 수행하고 0에서 합계를 다시 시작합니다.누적 합계가 최대 값에 도달 할 때까지 다음 행에서 0부터 반복하십시오.
분, 열 및 누적 합계 열의 차이가 있습니다 (사용하는 예는 실제 전체 데이터 집합보다 훨씬 깔끔합니다)
minutes difference keep difference_sum
1052991158 0 0 0
1052991338 180 0 180
1052991518 180 0 360
1052991698 180 0 540
1052991878 180 0 720
1052992058 180 0 900
1052992238 180 0 1080
1052992418 180 0 1260
1052992598 180 0 1440
1052992778 180 0 1620
1052992958 180 0 1800
차이 합 열은 코드
caribou.sub$difference_sum<-cumsum(difference)
산출 하였다
위의 코드를 실행하려면 합계 값이 1470이나 그보다 큰 숫자에 도달하면 유지 열에 1을 넣은 다음 나중에 다시 계산을 다시 시작하고 데이터 세트.
미리 감사드립니다. 추가 정보가 필요하면 알려주십시오.
Ayden는
1470에 도달하면 'difference_sum'이 0으로 재설정됩니까? 'difference_sum '이 임계 값을 넘어갈 때를 포함하여 약간 더 긴 예제 세트가 도움이 될 것입니다. – alexwhan
아니, 내가하려고하는 것, 차감 값 열은 현재 caribou.sub difference_sum <-cumsum (차이) 코드로 계산됩니다. 데이터 세트를 계속 진행하고 있습니다. – HeidelbergSlide
그렇지만 임계 값을 초과 한 후에는 다음 임계 값을 계산하는 방법에 대해 어떻게 생각하십니까? 1470 년에 흑자를 사용 했습니까? 다음 행에서 0으로 시작 하시겠습니까? – alexwhan