我有两个不同长度的数据集,其中一个包含我需要排除另一个试验的信息(条件)。数据集 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]))