Select 行具有多个使用逻辑运算符的值的数据框

Select rows of data frame with several values using logical operators

我在基于逻辑运算符的数据框中对 select 行数据使用方括号。例如,如果我有一个数据框

df = data.frame(Letter = rep(c("A", "B", "C", "D", "E"), 10), Number = rep(c(1:25), 4))

我想要 select 包含字母 A、B 或 C 的行我使用代码

df = df[df$Letter == "A" | df$Letter == "B" | df$Letter == "C",]

我想知道是否有一种方法可以压缩它,类似于

df = df[df$Letter == c("A", "B", "C"),]

或者也许

df = df[df$Letter == "A" | "B" | "C",]

这两个都不起作用,但基本上我正在寻找一种更短、更简单的方法来列出几个逻辑运算符。

我宁愿用方括号而不是 subset() 或其他函数来做,但如果方括号真的不可能,那么我会接受其他想法

你可以这样做:

df <- df[df$Letter %in% c("A", "B", "C"),]

对于这些实例,我使用 dplyr 包。

library(dplyr)
new.df <- df %>% 
filter(Letter %in% c("A", "B", "C"))

希望对您有所帮助,

干杯!

PS: dplyr作弊sheet是here