0
> w
                 A           B
1998-01-08 -0.0051653999  0.007
1998-01-09  0.0064191599 -0.008
1998-01-12 -0.0018169993  0.009
1998-01-13  0.0046482541 -0.005
1998-01-14  0.0080997329 -0.006
1998-01-15 -0.0007764179  0.008

c<-(-0.5,-0.6,-0.7,0.1,0.2,0.3)

c > 0かどうかを条件にwからAまたはBを選択する1列の行列を作成したい

すなわち

w[,if (c<0) A else B]
                 C           
1998-01-08 -0.0051653999
1998-01-09  0.0064191599
1998-01-12 -0.0018169993
1998-01-13 -0.005
1998-01-14 -0.006
1998-01-15  0.008
4

2 に答える 2

1

cベクトルを連結する関数を見逃しました。そのベクトルの名前として(-0.5,-0.6,-0.7,0.1,0.2,0.3)使用しました。次に、次のように関数をind使用してインデックス作成を行うことができます。ifelse

> ind <-c(-0.5,-0.6,-0.7,0.1,0.2,0.3)
> data.frame(C=ifelse(ind<0, w$A, w$B), row.names=rownames(w))
                      C
1998-01-08 -0.005165400
1998-01-09  0.006419160
1998-01-12 -0.001816999
1998-01-13 -0.005000000
1998-01-14 -0.006000000
1998-01-15  0.008000000
于 2013-05-24T13:45:17.953 に答える