R中的子集命令

时间:2014-01-07 10:01:51

标签: r

从一组观察中,我想选择大于零但同时低于2的值。我尝试过命令:

ysub<-subset(y,y>=0,y<=2)

但不幸的是,这也带来了负面价值!如何确保考虑交叉点?

这可能是一个微不足道的问题,但?subset页似乎含糊不清,谢谢。

1 个答案:

答案 0 :(得分:1)

您需要添加“&amp;”子集调用之间。

a <- rnorm(11,5,2)
y <- c(-5,-4,-3,-2,-1,0,1,2,3,4,5)
df <- as.data.frame(cbind(a,y))

这给了你:

          a  y
1  5.796016 -5
2  1.206939 -4
3  3.071930 -3
4  6.018166 -2
5  6.653600 -1
6  2.916602  0
7  7.966805  1
8  2.681016  2
9  5.219482  3
10 4.558291  4
11 4.426134  5

添加“&amp;”你的代码:

ysub = subset(df,y>=0 & y<=2)

你得到:

         a y
6 2.916602 0
7 7.966805 1
8 2.681016 2