我想将数据框子集
> head(SH)
V11 yr mo dy
1 US009239 1941 2 14
2 US009239 1941 2 14
3 US009239 1941 2 14
4 US009239 1941 2 15
5 US009239 1941 2 15
6 US009239 1941 2 15
以这种方式
test <- subset(SH,SH$yr!=yrmin & SH$mo !=momin)
,其中
> unique(SH$yr)
[1] 1941 1940
> unique(SH$mo)
[1] 2 1 12
momin =2
yrmin =1941
无论如何,我得到的是
unique(test$yr)
[1] 1940
> unique(test$mo)
[1] 12
意味着子集函数不会同时考虑2个条件。
非常感谢
答案 0 :(得分:1)
如果你想将逻辑语句与布尔运算符结合起来,并且不想使用标准评估,即[
,那么我建议查看Hadley dplyr
的新包,例如
library(dplyr)
filter(iris, Sepal.Length != 4 & Sepal.Width != 4)
# or equivalently
filter(iris, Sepal.Length != 4, Sepal.Width != 4)
事实上,我建议无论如何都要看dplyr
:它真棒!