1
私は異なるグループ内の行をフィルタリングするデータセットを持っています。私はグループをフィルタリングするためにグループ内fruit
の最初の発生を使用したい複数の条件に基づいてグループ内の行をフィルタリングする
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
:
は、このデータフレームを考えます。しかし、別の条件があります、私はその果物の列を保つことが好きでしょうhit
は1
と等しいです。
したがって、group 1
の場合、が最初に発生し、正のヒットが2回あるため、この2つの行を保持したいと思います。
結果は次のようになります。
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
ありがとう、私はそれを調べます! –