ifelse()在TRUE测试中返回单个值而不是arg 1

时间:2013-03-25 15:16:15

标签: r

也许我误解了ifelse应该工作的方式...... 我有一些看起来像这样的表(但更长):

        Lean Turned Turn attempts
 [1,]   11      1             2
 [2,]   16      2             2
 [3,]   41      2             2
 [4,]   38      2             2
 [5,]   17      2             2
 [6,]   43      4             4

一个名为X,未分类 一个叫做L1LLwhole,它等于X,但按“精益”栏分类

 L1LLwhole <-X[order(X[,1]),]

现在我正在创建一个名为goForL1的列表,该列表是该列表的一个子集,其中Turn尝试次数为2或4.我检查以确保至少有一个是2或4,否则我们会收到错误。

 ifelse(any((X[order(X[,1]),3]==2) | (X[order(X[,1]),3]==4)),
         L1LLwhole[(X[order(X[,1]),3]==2) | 
         (X[order(X[,1]),3]==4),],0)->goForL1

现在奇怪的是,即使测试评估为TRUE,参数1评估为一个表,整个语句的结果只是“11”

不是ifelse应该按原样返回确切的参数吗?

0 个答案:

没有答案