2013-06-26 4 views
4

여러 위치가있는 시계열에서 VAR을 실행 중입니다. loc1, loc2 및 loc3이 시계열 데이터의 열 이름이라고 가정합니다.R에서 예측에서 예측을 추출하는 방법?

fitVAR = VAR(data,p=order,type = "both", ic = "AIC") 
pred = predict(fitVAR,n.ahead = L) 

내가 pred$fcst$loc1[,1] 등으로 일기 예보를 얻을 수 있다는 사실을 알고하지만 (A 입력 변수로 위치 이름 걸리는이 작업을 수행하는 함수를 작성한다고 가정 예를 들어, LOC=c("loc1","loc2","loc3")). 어떻게 할 수 있습니까?

그 ..

locs <- sapply(pred$fcst[LOC], function (k) k[ , 1]) 

아이디어는 명명 된 목록은 당신이 LOC에서 원하는 이름을 넣어 가지고있다 pred$fcst 이제 우리는 이름이 LOC에있는 요소를 수집 할 수 있고 어떻게 사용에 대한

답변

5

당신은이 같은 lapply를 사용할 수 있습니다

data(Canada) 
fit <- VAR(Canada, p = 2, type = "none") 
LOC <- c('e','U') 
lapply(predict(fit)$fcst[LOC],'[',,'fcst') 
lapply(predict(fit)$fcst[LOC],'[',,1) 
$e 
[1] 962.3490 962.7852 963.1305 963.4016 963.6116 963.7742 
    963.9023 964.0081 964.1026 964.1954 

$U 
[1] 6.764097 6.751969 6.804301 6.900299 7.030548 7.184748 
    7.353441 7.528150 7.701521 7.867432 
: 예를 들어

lapply(predict(pp)$fcst[LOC],'[',,1) 

3

그런 다음 각 열의 첫 번째 열을 locs으로 추출하십시오.

관련 문제