2014-10-13 8 views
0

"xts" "zoo"클래스의 시계열을 반환하려고합니다. 나는 시대를 되찾고 싶지만 대신 숫자를 얻고 싶다.for 루프 in for 루프

rtn<-c(rep(NA,3)) 

for(i in 1:3){ 
    rtn[i]<-index(time_series[i]) 
    } 

이 반환 : 나는 아래의 예를

[1] 13704 14049 14343 

이 내가 그것을 반환하고자하는 것입니다 :

[1] "2007-07-10" "2008-06-19" "2009-04-09" 

이 도움에 미리 감사드립니다.

위는 단순화 된 버전입니다. 내가 실행할 수없는 유일한 코드 부분입니다.

green_rtn<-c(rep(NA,length(green_series_open[,1]))) 
for(i in 1:length(green_series_open[,1])){ 
    green_rtn[i]<-straddles(coredata(green_series_open[i,1]),coredata(green_series_open[i,2]), 
    index(green_series_open[i]),index(green_series_close[i])) 
    } 
+1

왜 루프를하고 있습니까? 왜'index (time_series [1 : 3]) '가 아닌가? 또는'rtn'을 적절한 날짜 벡터로 초기화하면 어떻게됩니까?'rtn <- rep (as.Date (NA), 3)' – MrFlick

+0

시도하고있는 것을 응축했습니다. 나는 날짜가 – Pete

+0

@ Pete 인 것들의리스트를 돌려 줄 필요가있다. 당신은 다른 타입의리스트를 가질 수 없다. 어쩌면 날짜를 문자로 저장할 수 있습니다. – agstudy

답변

1

당신은 제대로 날짜 벡터로 rtn를 초기화해야합니다 : 그것은 여기에 도움이 경우 실제 코드입니다. @ akrun의 샘플 데이터를 사용하여 (자신 만의 reproducible example을 포함 시켰다면 좋았을 것입니다)

rtn <- rep(as.Date(NA), 3) 

library(xts) 
time_series <- xts(rnorm(5), order.by=as.Date(c('2007-07-10', '2008-06-19', '2009-04-09', '2009-05-06', '2009-05-08'))) 

for(i in 1:3) { 
    rtn[i]<-index(time_series[i]) 
} 

rtn 
# [1] "2007-07-10" "2008-06-19" "2009-04-09" 
+0

time_series = 2007-07-10 2008-06-19 2009-04-09 – Pete