R に xts オブジェクトがあり、そこから別のオブジェクトを作成したいと考えています。私の xts オブジェクトは次のようになります。
dates = seq(from=as.Date('2012-09-01'),to=as.Date('2012-09-05'),'day')
my_xts_obj = xts(c(1,2,3,4,5),dates)
> my_xts_obj
[,1]
2012-09-01 1
2012-09-02 2
2012-09-03 3
2012-09-04 4
2012-09-05 5
以下の条件を満たす別のオブジェクトを作成したい
val = 0, if my_xts_obj >2.5 and <3.5
val = -1, if my_xts_obj <2.5
val = +1, if my_xts_obj <3.5
得た、
my_new_xts_obj
[,1]
2012-09-01 -1
2012-09-02 -1
2012-09-03 0
2012-09-04 1
2012-09-05 1
私が使用できるアプローチの 1 つは、for ループを介して解析し、if then ステートメントを使用してオブジェクトを作成することです。より良い方法はありますか?
私が考えることができる別のアプローチは
my_new_xts_obj = my_xts_obj%/%2.5 + my_xts_obj%/%3.5, gives me
2012-09-01 0
2012-09-02 0
2012-09-03 1
2012-09-04 2
2012-09-05 3
これはまさに私が探しているものではありません