2014-01-07 6 views
-1

Из множества наблюдений, я хотел бы, чтобы выбрать значения, которые больше нуля , но в то же время ниже 2. Я попробовал команду:команда Подмножество в R

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

но к сожалению, это также приводит к отрицательным значениям! Как я могу убедиться, что пересечение учтено?

Это, вероятно, тривиальный вопрос, но страница ?subset кажется расплывчатой, спасибо.

+3

взглянуть на '» & '' о том, как объединить ваши условия. – Henrik

+0

@ Хенрик Спасибо. – JohnK

+3

Поскольку у меня есть этот URL-адрес в моем буфере обмена: http://cran.r-project.org/doc/manuals/r-release/R-intro.html :) –

ответ

1

Вам нужно добавить «&» между вызовами подмножества.

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 

Добавить "&" к коду:

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

и вы получите:

  a y 
6 2.916602 0 
7 7.966805 1 
8 2.681016 2 
Смежные вопросы