R过滤给定范围

时间:2014-03-16 22:11:55

标签: r

我想过滤掉范围为a到b的值的列的所有值 例如,如果我有数据集:

Cats          Dogs
3             1       
5             2
9             4
3             2 
10            2
5             5

我想创建一个新表,其中cat的值在3到8范围内的行,我该怎么做?

会不会像

 filter(Cats, range(3,8))

2 个答案:

答案 0 :(得分:1)

您可以尝试类似

的内容
d <- read.table(text=readClipboard(), header=TRUE)
d[d$Cats %in% c(3:8), ]
  Cats Dogs
1    3    1
2    5    2
4    3    2
6    5    5

myinterval <- c(3:8)
subset(d, Cats %in% myinterval)

您可以使用myinterval来更改结果范围

或为狗添加条件

subset(d, Cats %in% myinterval & Dogs  < 5)
  Cats Dogs
1    3    1
2    5    2
4    3    2

答案 1 :(得分:-2)

尝试(未测试)类似

的内容
subset(subset(df, cats> 2), cats<9))