私はうまくいけば簡単な質問があります。私は、次のと少し似xts
オブジェクトがあります。RTSでXTSを使用して同じ日に操作を実行
| MarketPrice |
----------------------------------------
2007-05-04 10:15:33.546 | 5.32 |
----------------------------------------
2007-05-04 10:16:42.100 | 5.31 |
----------------------------------------
2007-05-04 10:17:27.546 | NA |
----------------------------------------
2007-05-04 10:20:50.871 | 5.35 |
----------------------------------------
2007-05-04 10:21:38.652 | 5.37 |
を基本的に、私はまた、NA
値をommittingながら、時間の直前にMarketPrice
インデックスを見つけるしたいと思います。たとえば、オブジェクト内にインデックスが4の2007-05-04 10:20:50.871
から始まるとします。つまり、この時点直前の市場価格は、オブジェクトに2のインデックスを持つ5.31
です。このタスクを実行するために、私は次のような機能まで書かれています:
MPFunction <- function(t,df){
ind <- t
while(t>1){
t=t-1
if ((index(df[t]) != index(df[ind])) && !(is.na(df[t,"MarketPrice"]))) {
return(t)
}
}
}
をそして、これはxts
オブジェクトのインデックスで時間を確認するためにIF文をチェックにおける最初の条件以来のタスクを実行します第2の条件がMarketPrice
列にNA
値が存在しないことを確認する。
しかし、数日後に問題が発生しました。私はNA
を持っていないこの時間より前に最初のインデックスを検索したい場合は、その後
| MarketPrice |
----------------------------------------
2007-05-03 16:59:58.921 | 5.32 |
----------------------------------------
2007-05-04 10:12:27.546 | NA |
----------------------------------------
2007-05-04 10:20:50.871 | 5.35 |
----------------------------------------
私は(時間2007-05-04 10:20:50.871
でIE)インデックス3で起動した場合:さんは次のように私は今xts
オブジェクトを持っているとしましょうMarketPrice
列の値は、インデックス1(2007-05-03 16:59:58.921
)になります。しかし、これは別の日に行われている問題で、同じ日にMarketPrice
値のインデックスのみを抽出するようにしたいのです。
基本的には、前の日のMarketPriceのインデックスを見つけることを避けるIF文で上記の私のMPFunction
にできる簡単な変更があるかどうかは疑問でした。また、私が行った場合、かなり複雑になるので、xts
オブジェクトを1日に分割することは望ましくありません。
これを解決する方法(たとえば、strptime
関数を使って日付をチェックするなど)はすでにいくつか考えていますが、これらはすべて時間のかかる方法ですので、私はずっと多くの方法を見つけることを望んでいました誰かがアイデアを持っているなら、私はそれを感謝します。前もって感謝します。