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

时间:2017-08-04 17:18:25

标签: r extract

我使用方括号根据逻辑运算符选择数据框中的数据行。例如,如果我有数据框

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

我想选择包含字母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()或其他一些功能,但如果方括号确实不可能,那么我会接受其他想法

2 个答案:

答案 0 :(得分:1)

你可以这样做:

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

答案 1 :(得分:0)

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

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

我希望有所帮助,

喝彩!

PS:dplyr备忘单是here