具有来自另一数据帧R的条件值的新数据帧

具有来自另一数据帧R的条件值的新数据帧,r,R,我有一个3列的数据框 a b c P1 z 1 22 P2 z 2 18 P3 x 1 3 P4 z 1 16 P5 x 2 6 P6 z 1 12 P7 x 1 23 我想创建一个新的数据框,其中只有列“c”中的值满足以下条件:列“a”中有一个“z”,列“b”中有一个“1”+“a”中有一个“x”,列“b”中有一个“2” 之后,新数据框应如下所示: a b c P1 z 1 22 P4 z 1 16 P5 x 2 6 P6 z 1 12 首先想到的是使用subset()。但我不知

我有一个3列的数据框

   a b c
P1 z 1 22
P2 z 2 18
P3 x 1 3
P4 z 1 16
P5 x 2 6
P6 z 1 12
P7 x 1 23
我想创建一个新的数据框,其中只有列“c”中的值满足以下条件:列“a”中有一个“z”,列“b”中有一个“1”+“a”中有一个“x”,列“b”中有一个“2”

之后,新数据框应如下所示:

   a b c
P1 z 1 22
P4 z 1 16
P5 x 2 6
P6 z 1 12

首先想到的是使用subset()。但我不知道怎么做。感谢您的帮助。

使用
子集
以下内容再现您的预期输出:

subset(df, (a == "z" & b == 1) | (a == "x" & b == 2));
#   a b  c
#P1 z 1 22
#P4 z 1 16
#P5 x 2  6
#P6 z 1 12
或者使用
dplyr
方法使用
filter

library(dplyr);
filter(df, (a == "z" & b == 1) | (a == "x" & b == 2))

样本数据
df
df <- read.table(text = 
    "   a b c
P1 z 1 22
P2 z 2 18
P3 x 1 3
P4 z 1 16
P5 x 2 6
P6 z 1 12
P7 x 1 23", header = T)