1
我有一个数据集,我想过滤不同组中的行。根据多个条件过滤组内的行
鉴于这种数据帧:
group = as.factor(c(1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3))
fruit = as.factor(c("apples", "apples", "apples", "oranges",
"oranges", "apples", "oranges",
"bananas", "bananas", "oranges", "bananas"))
hit = c(1, 0, 1, 1,
0, 1, 1,
1, 0, 0, 1)
dt = data.frame(group, fruit, hit)
dt
group fruit hit
1 apples 1
1 apples 0
1 apples 1
1 oranges 1
2 oranges 0
2 apples 1
2 oranges 1
3 bananas 1
3 bananas 0
3 oranges 0
3 bananas 1
我想用一组内的fruit
第一次出现来过滤基团。但还有一个条件,我只想保留hit
等于1
的水果行。
因此,对于group 1
,是第一次出现,它有两次正面命中,因此我希望保留这两行。
结果是这样的:
group fruit hit
1 apples 1
1 apples 1
2 oranges 1
3 bananas 1
3 bananas 1
我知道你可以用dplyr
过滤,但我不知道我能做到这一点。
是的,你可以用'dplyr实现这一目标'(很容易)。只要看看小插曲,你会找到一个方法来做到这一点:https://cran.rstudio.com/web/packages/dplyr/vignettes/introduction.html – ottlngr
谢谢,我会看看! –