r根据条件选择列元素 >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 c0

r根据条件选择列元素 >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 c0,r,select,R,Select,i、 e w[,如果(c试试看这个 简而言之,我认为您需要尝试以下命令: 如果(c您错过了连接向量(-0.5,-0.6,-0.7,0.1,0.2,0.3)的c函数,我使用ind作为该向量的名称。然后可以使用ifelse函数进行索引,如下所示: w[,if (c<0) A else B] C 1998-01-08 -0.0051653999 1998-01-09 0.0064191599 1998-01-12 -0.001816999

i、 e

w[,如果(c试试看这个
简而言之,我认为您需要尝试以下命令:

如果(c您错过了连接向量
(-0.5,-0.6,-0.7,0.1,0.2,0.3)的
c
函数,我使用
ind
作为该向量的名称。然后可以使用
ifelse
函数进行索引,如下所示:

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

>ind data.frame(C=ifelse)(indI使用1和2代替,但得到以下错误:警告消息:In if(c)1,并且只有第一个元素used@ManInMoon您得到的不是一个错误,而是一个警告,通过
if
的帮助,您会发现以下内容:
长度大于1的条件会被接受并带有警告,但只使用第一个元素。
使用
ifelse
代替,请参阅。太好了,谢谢您w、 这个名字不起作用,但不是一个真正的问题。
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
> 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