我有一个看起来像这样的数据框:
value=c(1,2,6,4,5,6)
group=c(rep('A',3),rep('B',3))
mydata=data.frame(value,group)
我想保留A组中的所有值,并保留B组中的所有小于6的值。也就是说,我需要得到这样的结果:
value=c(1,2,6,4,5)
group=c(rep('A',3),rep('B',2))
到目前为止,我所做的是按原样过滤A组。过滤组B的值<6,并将两个数据帧合并为一个。有没有更好的方法可以使用dplyr或任何其他函数来做到这一点?
答案 0 :(得分:0)
filteredData <- mydata[(mydata$group=='A')|(mydata$value < 6),]
这将选择位于A组中或条件为真的所有行,并且由于$之后没有任何内容,因此,已过滤的行中的所有列均保持不变。