서버에서 일부 데이터를 가져와 길이가 다른 모든 시계열 객체를 약 200 개 가져옵니다. 이것은 작동하지 않기 때문에 하나의 객체로 병합하고 NA가없는 위치에 NA를 쓰고 싶습니다. 또한 각 시리즈마다 하나 이상의 변수가 있습니다. 루프를 시도했지만 아직 작동하지 않습니다. 이것을 정렬하는 좀 더 우아한 방법이 있어야합니다. 예를 들어 다음과 같은 내가 가진 가정R 길이가 다른 여러 시계열을 병합하는 방법
library(zoo)
a=zoo(matrix(rnorm(300), 100, 3),Sys.Date()-100:1)
b=zoo(matrix(rnorm(375), 125, 3),Sys.Date()-125:1)
c=zoo(matrix(rnorm(525), 175, 3),Sys.Date()-175:1)
d=zoo(matrix(rnorm(450), 150, 3),Sys.Date()-150:1)
e=list(a,b,c,d)
z=do.call(merge,e)
편집 : 당신은 merge
과 함께 do.call
을 사용할 수 있습니다
@Joshua Ulrich가 답장을 보내 주셔서 감사합니다. 네,이 예제에서는 작동하지만 200 개 이상의 시리즈를 가져옵니다. 다른 방법이 없다면이 작업을 수행 할 것이지만 어쩌면 목록이나 비슷한 것을 만드는 대안이있을 수 있습니다. – nopeva
'file.names'가 파일 이름을 가지고있는 문자 벡터라면 'z <- read.zoo (file.names, ... other arguments ...)'는 그것들을 모두 읽어 들여 합쳐'z '. –