Как исправить ошибку при вычислении пропорций с помощью dplyr - PullRequest
0 голосов
/ 12 июня 2019

У меня есть следующий набор данных:

a<-data_frame(gender= c(1,1,1,0,0,1,1,0,0,1),
              school= c(2,2,2,2,2,3,3,3,3,3),
             year=c(2011,2011,2011,2012,2012,2011,2011,2011,2012,2012),
              numberofstudents=c(3,3,3,2,2,3,3,3,2,2))

И я хотел получить долю мужчин в каждой школе в год. Итак, результат должен выглядеть как

data_frame(maleprop= c(1,0,0.66,0.5),
              school= c(2,2,3,3),
              year=c(2011,2012,2011,2012),
              )

Я попробовал этот код, к сожалению, у меня есть Столбец ошибок maleprop должен иметь длину 1 (итоговое значение), а не 3.

final <- a %>%
  group_by(school,year) %>%
  dplyr::summarize(
    school<-mean(school),
    year<-mean(year),
    maleprop <-(sum(gender==1))/(numberofstudents))

Как избежать этой проблемы и получить правильные результаты?

1 Ответ

0 голосов
/ 12 июня 2019

Кажется, у вас слишком много строк. Это должно сделать это:

final <- a %>%
  group_by(school,year) %>%
  summarize(maleprop = sum(gender)/mean(numberofstudents))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...