library(dplyr)
##Creating variable dat here which has values in it.
dat <- read.table(text = "ID country age
1 X 83
2 X 15
3 Y 2
4 Y 12
5 X 2
6 Y 2
7 Y 18
8 X 85",
header = TRUE)
dat %>%
filter(age<10 | age>80)
# Read in the data
data <- read.table(
text = "ID country age
1 X 83
2 X 15
3 Y 2
4 Y 12
5 X 2
6 Y 2
7 Y 18
8 X 85",
header = TRUE
)
# Filter according to conditions
data[data$age < 10 | data$age > 80,]
输出:
ID country age
1 1 X 83
3 3 Y 2
5 5 X 2
6 6 Y 2
8 8 X 85
5条答案
按热度按时间sqserrrh1#
从问题中我不确定你想要的值是在10和80之间,还是在10以下和80以上。如果你想要这些值,你可以在
filter
中放入多个参数。如果你想要10以下和80以上的值,你可以使用|
作为“or”运算符:fnvucqvd2#
以下内容也可以帮助您使用
dplyr
8ftvxx2r3#
现在,您可以使用OR(|)条件,也可以根据实际尝试执行的操作使用AND(&)条件。
nbysray54#
您可以使用dplyr的filter()。
cidc1ykv5#
对于那些坚持使用R基数的人来说,这里有另一个解决方案:
输出:
您可以根据需要添加任意多个条件,并使用括号来阐明运算顺序。例如,如果我们希望添加另一个条件以确保国家/地区必须是
X
(除了OP问题中提出的条件之外):输出:
条件末尾的逗号用于指示我们正在将条件应用于数据框的行。要在筛选行的同时筛选列,请澄清逗号后面的列:
输出: