我无法弄清楚如何在R中的 中写下或条件 这个statemnet不起作用。
which(value>100 | value<=200)
我知道这是非常基本的事情,但我无法找到正确的解决方案。
谢谢
答案 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