2012-06-20 3 views
1

나는 일별 데이터의 데이터 프레임을 가지고있다 : df가 4 열이고 : Date, A, B, C 주간 데이터의 평균을 열로 얻으려고하고있다.R을 사용하여 칼럼별로 주간 데이터의 평균을 계산하는 방법은 무엇입니까?

library(xts) 
xdf <- xts(df[ ,-1],as.Date(df$Date)) 

apply.weekly(xdf,mean) 

을하지만이 나에게 모든 컬럼의 평균을 제공합니다 나는 시도했다. 나는 각 칼럼마다 매주 수단이 필요하다.

답변

8

먼저 일부 데이터를 얻을 당신의 도움을 주셔서 감사합니다 (즉, 당신이 사용중인 이후 나는 data.frame를 사용합니다,하지만 난 정말 당신이 시계열 객체에 대한 시계열 클래스를 사용하는 것이 좋습니다)

getSymbols("SPY", src='yahoo', from='2012-05-01', to='2012-06-15', 
      return.class='data.frame') 
#"SPY" 

apply.weekly 주 단위로 데이터를 분할하고 매주 기능을 적용합니다. apply.weekly(SPY, mean)은 해당 주에 대한 모든 데이터의 평균을 계산하지만 각 열의 평균값은 입니다. 각 열의 값은입니다. 그래서, 당신은 각 열

apply.weekly(SPY, function(x) apply(x, 2, mean)) 
#   SPY.Open SPY.High SPY.Low SPY.Close SPY.Volume SPY.Adjusted 
#2012-05-04 139.6425 140.4675 138.750 139.3275 149400050  138.6075 
#2012-05-11 135.9480 136.9320 135.338 136.2040 173105700  135.5020 
#2012-05-18 133.3000 133.9180 132.036 132.1760 229282720  131.4960 
#2012-05-25 131.7660 132.6800 130.896 132.2140 176634780  131.5340 
#2012-06-01 131.7100 132.8925 130.290 131.2725 191170200  130.5950 
#2012-06-08 130.2780 131.3380 129.584 130.8580 175917220  130.1820 
#2012-06-15 132.8420 133.7760 131.828 132.8020 184751180  132.2540 
참고로

, apply.weeklyapplymean에있다 그래서 당신은 또한 당신의 도움을

period.apply(SPY, endpoints(SPY, "weeks"), FUN=function(x) apply(x, 2, mean)) 
+0

대단히 감사와 위의 결과를 얻을 수 period.apply에 대한 래퍼입니다. –

+0

설치에 문제가 있습니다. 오류 메시지가 표시됩니다. install.packages ("xts", repos = "http://r-forge.r-project.org") 경고 메시지 : 'xts'패키지가 아닙니다. 사용 가능 (R 버전 2.15.0) –

+0

죄송합니다. 해명 해줘서 고마워. –

관련 문제