Tôi phải đối tượng xts/zoo. mỗi loại có các biến số khác nhau trong một khoảng thời gian khác nhau. Tôi muốn tạo một chuỗi thời gian duy nhất bao gồm tất cả các biện pháp mọi lúc, với NA cho ngày kết hợp/biến bị thiếu. Làm thế nào để làm điều đó? ví dụ nhân tạo:chuỗi thời gian ghép/hợp nhất (trong R)
library(xts)
x<-cbind(a=1:3,b=3:1)
rownames(x) = as.character(Sys.Date()-1:3)
y<-cbind(a=5:7,c=3:1)
rownames(y) = as.character(Sys.Date()-5:7)
xs=as.xts(x)
ys=as.xts(y)
#now what?
#desired outcome looks like:
a b c
2013-03-10 7 NA 1
2013-03-11 6 NA 2
2013-03-12 5 NA 3
2013-03-14 3 1 NA
2013-03-15 2 2 NA
2013-03-16 1 3 NA
# regular merge looks like that (adding an a.1 variable)
merge(xs,ys)
a b a.1 c
2013-03-10 NA NA 7 1
2013-03-11 NA NA 6 2
2013-03-12 NA NA 5 3
2013-03-14 3 1 NA NA
2013-03-15 2 2 NA NA
2013-03-16 1 3 NA NA
# simple concatenation ignores variable names and looks like that
c(xs,ys)
a b
2013-03-10 7 1
2013-03-11 6 2
2013-03-12 5 3
2013-03-14 3 1
2013-03-15 2 2
2013-03-16 1 3
# so what should I do?
điều gì xảy ra nếu 'xs' và' ys' đều có giá trị cho 'a'? –
cho mục đích của tôi thì ok nếu xs" thắng "và điểm dữ liệu có liên quan trong y được ném/bỏ qua. – amit
'xts' có hàm' merge'function có 'inner',' outer', 'left 'và' right' hợp nhất. Nhưng vấn đề của bạn không phải là cụ thể đối với 'bất kỳ 'của chúng. bạn sẽ phải * viết chức năng của riêng bạn *. – Arun