2013-10-25 2 views
8

안녕에 새 열을 추가 : 나는 등의 XTS 개체가 :는 XTS 객체

  AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted 
2013-09-09 505.00 507.92 503.48  506.17 12116200  506.17 
2013-09-10 506.20 507.45 489.50  494.64 26490200  494.64 
2013-09-11 467.01 473.69 464.81  467.71 32031600  467.71 
2013-09-12 468.50 475.40 466.01  472.69 14409400  472.69 

을 나는 롤링 의미를 계산하고 같은

AA["AAPL.Rolling"] <- rollmean(AA[,"AAPL.Adjusted"],12) 
로 새 열에 첨부하려고

rollmean(AA[,"AAPL.Adjusted"],12)은 독자적으로 작동하지만, 새 열에 연결하려고하면 오류 메시지가 나타납니다. ** 또한이 작업을 어렵게 만드는 것은 처음 12 개가 "NA"여야하므로 새로운 롤링 평균에 모든 행의 데이터가 포함되지 않는다는 것입니다. 아무도 도와 줄 수 있습니까? 고맙습니다.

+0

시도한 해결책이 이해가되지 않습니다. 'rnorm (12, AA)'는'mean = AA [1 : 12,1]'및 sd = 1 인 임의의 정규 분포에서 12 개의 관측치를 제공합니다. 그것은 심지어 압연의 의미에 가깝지 않습니다. 그리고 동물원 객체를 xts 객체의 열로 추가하려고합니다. 왜 그게 효과가 있다고 생각하니? –

+0

@ JoshuaUlrich, 나의 나쁜 - 나는 나의 고유를 편집했다 – Ahdee

답변

13

그런 동물원/xts 개체에 열을 추가 할 수 없습니다. 그래도 $<- 함수를 사용할 수 있습니다.

AA$AAPL.Rolling <- rollmean(AA[,"AAPL.Adjusted"], 12) 

기본적으로 rollmean은 가운데 맞춤 정렬됩니다. 오른쪽 맞춤을 얻으려면 rollmeanr을 사용하는 것이 좋습니다. NA으로 채우는 것은 롤링 평균을 원본 개체와 병합하기 때문에 자동으로 발생합니다. rollmean에 명시 적으로 추가하려면 fill=NA을 사용하십시오.

+0

이것은 완벽하다; 심지어 rollmean에 대한 문제를 예상했습니다! – Ahdee

+0

은 이러한 xts 객체에 문자 벡터를 추가하는 조쉬의 의견을 알고 싶어합니다. 그래서 당신은 하나의 char 컬럼과 하나의 int/numeric 컬럼을 가질 것입니다. – d8aninja

+0

@ d8aninja : xts 오브젝트가 매트릭스 클래스를 기반으로하고 행렬에 다른 유형의 컬럼을 가질 수 없기 때문에 불가능합니다. 즉, "xtsdf"클래스에 대한 실험이있었습니다. –