R рассчитать долю столбца по группам по - PullRequest
0 голосов
/ 18 октября 2019

У меня есть приведенный ниже примерный фрейм данных DF:

Group id    absolute
A     123   600
A     1234  300
A     12345 100
B     321   300
B     4321  300
B     5321  400

и я хочу преобразовать его для вычисления относительной доли идентификаторов в группе, к которой они принадлежат

Group id    share
A     123   60%
A     1234  30%
A     12345 10%
B     321   30%
B     4321  30%
B     5321  40%

I 'мы пробовали

DF%>%group_by(Group,id)%>%summarise(share=absolute/colSums(absolute))

1 Ответ

1 голос
/ 18 октября 2019

dplyr поможет здесь. Вам просто нужно разделить абсолют на сумму абсолюта определенной группы.

x %>%
  group_by(Group_id) %>%
  mutate(new = (absolute/sum(absolute)) * 100)


Group_id    id  absolute    new
<fct>   <dbl>   <dbl>   <dbl>
A   123 600 60
A   1234    300 30
A   12345   100 10
B   321 300 30
B   4321    300 30
B   5321    400 40
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...