Я пытаюсь сделать процент по группам с учетом значений из двух разных столбцов.
Я использовал dplyr, чтобы сгруппировать свои данные и затем выполнить математическую операцию. Я неправильно набрал команду, потому что результат одинаков во всех группах, я думаю, мой код показывает только один общий процент, а не по группам.
> x <- data.frame("code"=c("a","a","b","b","a","b"),"home" = c(1,1,1,1,1,1),
+ "trap" = c(0,1,0,1,0,1))
> x
code home trap
1 a 1 0
2 a 1 1
3 b 1 0
4 b 1 1
5 a 1 0
6 b 1 1
> x %>%
+ group_by(code) %>%
+ mutate(perc=(sum(trap)/sum(home)))
# A tibble: 6 x 4
# Groups: code [2]
code home trap perc
<fct> <dbl> <dbl> <dbl>
1 a 1 0 0.5
2 a 1 1 0.5
3 b 1 0 0.5
4 b 1 1 0.5
5 a 1 0 0.5
6 b 1 1 0.5
>
идея состоит в том, чтобы получить вес ловушки относительно дома (который должен быть одинаковым во всех рядах одной и той же группы)
Я хочу получить этот фрейм данных:
code home trap perc
<fct> <dbl> <dbl> <dbl>
1 a 1 0 0.333
2 a 1 1 0.333
3 b 1 0 0.666
4 b 1 1 0.666
5 a 1 0 0.333
6 b 1 1 0.666
>