使用基数R我想根据不同的条件过滤掉行。 第一个示例是一个非常简单的示例,但我似乎缺少了一些东西。我想将所有行过滤到包含值“ A”和“ C”的新DF中。要仅根据一个条件“ A”过滤掉,我将使用代码:
for loop
这很好。但是要想两者兼而有之,我似乎无法使代码正常工作。我尝试过:
DF2 <- DF1 [DF1$letters == "A",]
它不起作用。
第二种情况稍微复杂一些。在这种情况下,我想从“字母”列中过滤出包含“ A”和“ C”的所有行,并从“数字”列中包含“ 2”的所有行
DF2 <- DF1 [DF1$letters == "A" & "B" ,]
最后得到一个新的DF
"Letters" "Numbers" "ID"
A 10 A1
B 2 B1
C 15 A2
D 7 A3
E 32 B2
谢谢您的帮助。
答案 0 :(得分:0)
我认为在您的描述中,您正在寻找由"OR"
插入的"AND"
subset(df, Letters %in% c('A', 'C') | Numbers == 2)
# Letters Numbers ID
#1 A 10 A1
#2 B 2 B1
#3 C 15 A2
答案 1 :(得分:0)
我们可以使用filter
library(dplyr)
df %>%
filter( Letters %in% c('A', 'C') | Numbers == 2)