2012-02-28 2 views
1

여러 분 간격의 일련의 요일을 포함하는 xts 숫자 행렬이 있습니다. 분 단위로 매일 통계를 계산하고, 새로운 열을 추가 한 다음 모든 요일을 다시 정리해야합니다.R : 각 요일 계열에 대해 xts 행렬을 수정하십시오.

매일 xts 행렬로 내 통계 함수를 호출하는 apply.daily()를 시도했지만 수정 된 요일 계열을 호출 함수로 되 돌리고 전체 집합을 다시 어셈블하는 방법을 생각할 수 없습니다 수정 된 데이터

일할 수있는 한 가지 해결책은 루프에서 끝점 (x, on = "day")을 사용한 다음 rbind를 호출하여 처리 된 요일을 재구성하는 것입니다. 더 나은 해결책이 있습니까?

process = function(myxts) { 
    day.indexes = endpoints(myxts, on="days") 
    days = length(day.indexes) - 1 

    l = list() 
    list.index = 1 

    for(i in 1:days) { 
    day.begin = day.indexes[i] + 1 
    day.end = day.indexes[i+1] 
    l[[list.index]] = ets.sym.process.daily(myxts[day.begin:day.end]) 
    list.index = list.index + 1 
    } 

    return(do.call("rbind", l)) 
} 
+0

이제 분 데이터에 병합 할 일일 데이터 집합이 있습니다. (2012-02-28의 모든 분봉은 일일 데이터에서 2012-02-28에 대한 값을 얻습니다. , 등)? 그렇다면 http://stackoverflow.com/questions/8971797/r-merge-daily-data-with-tick-data/8981517#8981517 (기본적으로 '병합', 'na.locf')을 참조하십시오. –

답변

1

do.call(rbind, lapply(split(myxts,"days"), myfun))의 조합을 사용해야합니다. 재현 할 수있는 예제가 없으면 좀 더 구체화하기가 어렵습니다.