2012-03-13 12 views
0

に追加する私は、22日間にわたり〜1M行の1つの主要なXTSオブジェクト "Data"を持っています。私は1日に1つのエントリで、22行で別のXTSオブジェクト "Set"を持っています。この小さなXTSオブジェクトを大きなものに結合して、その日のSetの値を含む追加の列を持つようにしたいと思います。Xtsオブジェクトに別のxtsオブジェクトを基にした列をR

まず私が試した:

> Data=cbind(Data,as.numeric(Set[as.Date(index(Data[]))])) 
Error in error(x, ...) : 
improper length of one or more arguments to merge.xts 

をそれから私が試した:

> Data=cbind(Data,1) 
> Data[,6]=as.numeric(Set[as.Date(index(Data[,6]))]) 
Error in NextMethod(.Generic) : 
    number of items to replace is not a multiple of replacement length 

私もas.numericせずに試してみましたが、同じエラーを受け取りました。私はdata.frameにデータを回ししようとしたエラーを得た:

Error in `[<-.data.frame`(`*tmp*`, , 6, value = c(1, 397.16, 397.115, : 
    replacement has 22 rows, data has 835771 

何を私が間違ってやっているとどのように私はこれを実現するのですか?私は過去2週間にRを使っています。

ありがとうございます!

> str(Data) 
An ‘xts’ object from 2012-01-03 05:01:05 to 2012-01-31 14:59:59 containing: 
    Data: num [1:835771, 1:5] 397 397 397 397 397 ... 
- attr(*, "dimnames")=List of 2 
    ..$ : NULL 
    ..$ : chr [1:5] "SYN" "\"WhitePack.BID_SIZE\"" "\"WhitePack.BID_PRICE\"" "\"WhitePack.ASK_PRICE\"" ... 
    Indexed by objects of class: [POSIXct,POSIXt] TZ: 
    xts Attributes: 
NULL 
> str(Set) 
An ‘xts’ object from 2012-01-02 to 2012-01-31 containing: 
    Data: chr [1:22, 1] " 1.000" "397.160" "397.115" "397.175" "397.200" "397.390" "397.560" "397.580" "397.715" ... 
- attr(*, "dimnames")=List of 2 
    ..$ : NULL 
    ..$ : chr "Settle" 
    Indexed by objects of class: [POSIXct,POSIXt] TZ: 
    xts Attributes: 
NULL 

答えて

1

は、あなたが成功を得るください:

df3[, 6] <- na.locf(df3[, 6]) 
+0

いいえ、この:元の問題を完全に理解するの私の不足に対処するために

df3 <- merge(Data, Set) 

、私は唯一の追加ステップがあることだと思いますこれらの22以外のすべての新しいデータセルにNAを持つデータに22行追加します。 – user1266555

+0

str(データ)とstr(セット)の結果をポストする必要があります。私はあなたのインデックスのフォーマットはあなたが思うものではないと推測しています。 –

+0

元の投稿を編集してこれを含めました。 – user1266555

関連する問題