У меня есть следующие данные:
ID Value
1 3
1 4
1 2
1 6
1 7
1 3
1 5
1 6
2 9
2 5
2 7
2 3
2 5
2 8
2 4
2 8
3 4
3 9
3 5
3 5
3 5
3 8
Мне нужно разделить каждый элемент в переменной Value на количество строк каждого уровня переменной ID и назвать его Normalized
Ожидаемый результат:
ID Value Normalized
1 3 0.375
1 4 0.5
1 2 0.25
1 6 0.75
1 7 0.875
1 3 0.375
1 5 0.625
1 6 0.75
2 9 1.125
2 5 0.625
2 7 0.875
2 3 0.375
2 5 0.625
2 8 1
2 4 0.5
2 8 1.142857143
3 4 0.666666667
3 9 1.8
3 5 1.25
3 5 1.666666667
3 5 2.5
3 8 8
Код, который я пробовал:
data %>% group_by(ID) %>% mutate(Normalized=Value/nrow(ID))