2013-01-30 2 views
1

1 초와 0으로 구성되어 있지만 주로 0으로 구성된 xts 객체가 있습니다. 행 개수를 계산하는 스마트/효율적인 방법이 있는지 궁금합니다. 이 1 초두 가지 사이의 행 수를 찾는 현명한 방법

와 객체가 같은 모습의 일부의 예를 사이에 (안 일) ...

기본적으로
   x1 
2012-12-13  0 
2012-12-14  0 
2012-12-17  0 
2012-12-18  1 
2012-12-19  0 
2012-12-20  0 
2012-12-21  0 
2012-12-24  0 
2012-12-26  0 
2012-12-27  0 
2012-12-28  0 
2012-12-31  0 
2013-01-02  0 
2013-01-03  0 
2013-01-04  0 
2013-01-07  0 
2013-01-08  0 
2013-01-09  0 
2013-01-10  0 
2013-01-11  0 
2013-01-14  0 
2013-01-15  1 
2013-01-16  0 
2013-01-17  0 
2013-01-18  0 
2013-01-22  0 
2013-01-23  0 
2013-01-24  0 
2013-01-25  0 
2013-01-28  0 
2013-01-29  0 

내가 벡터/XTS는에 1과 0 옆에 반대하고 싶습니다 2012 년 12 월 19 일부터 2013 년 1 월 15 일까지 18 번째 숫자가있는 18 개의 행이 있습니다. 예를 들어 2 개의 1 사이에 18 개의 행이 있습니다. 앞으로 더 많은 시간이 갈수록 1과 0이 더 많습니다.하지만 기본적으로보고 싶습니다. 그쪽으로 t는 매일 벡터/xts 열의 값을 다음 행이있을 때까지의 행 수로 나타냅니다.

object$x2 <- ave(object$x1, cumsum(object$x1), FUN=nrow) 

하지만 난 당신이 그룹에서 오른쪽 간격을 포함 할 것을 참조 :이 같은 뭔가 등등

   x1 x2 
2012-12-13  0 19 
2012-12-14  0 19 
2012-12-17  0 19 
2012-12-18  1 19 
2012-12-19  0 18 
2012-12-20  0 18 
2012-12-21  0 18 
2012-12-24  0 18 
2012-12-26  0 18 
2012-12-27  0 18 
2012-12-28  0 18 
2012-12-31  0 18 
2013-01-02  0 18 
2013-01-03  0 18 
2013-01-04  0 18 
2013-01-07  0 18 
2013-01-08  0 18 
2013-01-09  0 18 
2013-01-10  0 18 
2013-01-11  0 18 
2013-01-14  0 18 
2013-01-15  1 18 
2013-01-16  0 20 
2013-01-17  0 20 
2013-01-18  0 20 
2013-01-22  0 20 
2013-01-23  0 20 
2013-01-24  0 20 
2013-01-25  0 20 
2013-01-28  0 20 
2013-01-29  0 20 

...

+0

새 열에서 '18'과 '20'은 어떻게됩니까? 규칙을 설명하십시오. –

답변

3

여기 하나의 방법은 그것을 할 수 있습니다 왼쪽 대신에 다음과 같이 입력해야합니다.

object$x2 <- ave(object$x1, rev(cumsum(rev(object$x1))), FUN=nrow) 
관련 문제