How to write OR condition inside which in R

主宰稳场 提交于 2019-12-04 05:55:14

问题


I am unable to figure out how can i write or condition inside which in R. This statemnet does not work.

   which(value>100 | value<=200)

I know it very basic thing but i am unable to find the right solution.

Thanks


回答1:


Every value is either larger than 100 or smaller-or-equal to 200. Maybe you need other numbers or & instead of |? Otherwise, there is no problem with that statement, the syntax is correct:

> 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 



回答2:


> 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

does work. Remember to fully qualify the names of the variables you are selecting, as iris$Species in the example at hand (and not only Species).

Have a look at the documentation here.

Also notice that whatever you do with which can be generally done otherwise in a faster and better way.



来源:https://stackoverflow.com/questions/39224951/how-to-write-or-condition-inside-which-in-r

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!