根据另一个数据集的标准排除数据集中的多个试验



我有两个不同长度的数据集,其中一个包含我需要排除另一个试验的信息(条件)。数据集 b 对于一个试验有多个值,其中数据集 a 只有一个条件值,例如:

数据集 a:

subj    trial   condition   
  1       1        2
  1       2        2
  1       3        3
  1       4        1
  1       5        4

数据集 b:

subj    trial    value
  1       1       488  
  1       1       626 
  1       1       449
  1       1       813
  ...
  1       4       564
  1       4       763
  1       4       346
  1       4       545

我想排除 b 中的所有试验,其中条件 == 1 在 a 中。所以在这个例子中,我想去掉 b 中试验 4 的所有值。

我明白这一点:

exclude <- b[b$condition == 1] 
data <- a[a$trial != exclude$trial]

由于两个数据集的长度不同,因此无法完成。如何告诉 R 排除数据集 b 的所有试验倍数?

我们可以使用%in%

subset(b, !trial %in% unique(a$trial[a$condition ==1]))

相关内容

最新更新