我想过滤掉范围为a到b的值的列的所有值 例如,如果我有数据集:
Cats Dogs
3 1
5 2
9 4
3 2
10 2
5 5
我想创建一个新表,其中cat的值在3到8范围内的行,我该怎么做?
会不会像
filter(Cats, range(3,8))
答案 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))