2013-03-18 1 views
0

2 열 XTS 목록을 가지고 있으며 각 XTS의 두 번째 열을 세 번째 XTS로 나누고 그 결과를 두 번째 열에 다시 저장하려고합니다. 나는 현재이 작업을 수행하는 루프를 사용하고 있습니다 :for 루프가없는 다 변수 XTS 목록에 대한 나누기

for(i in 1:length(data)){ 
    data[[i]][,2] <- data[[i]][,2]/temp 
} 

temp는 단일 열 XTS이며 때로는 더 이상 데이터의 XTS는 가끔 있지만, 확실히 할 중복되지 것입니다.

for 루프없이 어떻게 할 수 있습니까?

+0

'data'는'xts' 객체의 목록입니까? – alexwhan

+0

샘플 데이터를 제공 할 수 있습니까? –

답변

1

적절한 샘플 데이터없이 촬영. 샘플 데이터를 제공하면 그에 따라 응답을 업데이트 할 것입니다.

시계열의 경우, IMO는 올바른 타임 스탬프에 해당하는 값을가집니다. 그렇게하려면 우선 mergetemp xts timeseries 목록 개체의 각 요소가 data이어야하며 해당 작업을 수행해야합니다. 이렇게하려면 아래 정의 된대로 lapply 및 사용자 지정 함수 div을 사용할 수 있습니다.

div <- function(x) { 
    x <- merge(x,temp) 
    x[,2] <- x[,2]/x[,3] 
} 

lapply(X = data, FUN = div) 
관련 문제