如何在R里面写OR条件

时间:2016-08-30 10:25:43

标签: r which

我无法弄清楚如何在R中的 中写下或条件 这个statemnet不起作用。

   which(value>100 | value<=200)

我知道这是非常基本的事情,但我无法找到正确的解决方案。

谢谢

2 个答案:

答案 0 :(得分:1)

> which(iris$Species == "setosa" | iris$Species == "virginica")

 [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18
 [19]  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36
 [37]  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54
 [55]  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72
 [73]  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90
 [91]  91  92  93  94  95  96  97  98  99 100

确实有效。请记住完全限定您选择的变量的名称,如同当前示例中的iris$Species(而不仅仅是Species)。

查看文档here

另请注意,无论您使用which做什么都可以通常以更快更好的方式完成。

答案 1 :(得分:0)

每个值都大于100或小于或等于200.也许您需要其他数字或&而不是|?否则,该语句没有问题,语法是正确的:

> value <- c(110, 2, 3, 4, 120)
> which(value>100 | value<=200)
[1] 1 2 3 4 5
> which(value>100 | value<=2)
[1] 1 2 5
> which(value>100 & value<=200)
[1] 1 5