Как заполнить NA в данном столбце подмножества исходного кадра данных средним значением этого столбца на основе двух других переменных - PullRequest
0 голосов
/ 15 марта 2019

Итак, у меня есть набор данных студента, который я в настоящее время очищаю, и я взял подмножество кадра данных и хочу заполнить NA в столбце окладов этого подмножества на основе средней зарплаты, связанной с конкретным основным и числомстажировок для не пропущенных значений, очевидно.

, поэтому, если бы у меня было:

subset(work_dat, (is.na(Employed) & outcome_table=="Employed - Full-time"), select=major, int_numb, salary)

 Major     Int_numb      salary
 <fctr>      <dbl>           <dbl>
 Biochem       2              NA                
 Biosystems    2              NA

Я хочу заменить среднюю зарплату для биохимии и биологических специальностей, например, на в этом случае 2 стажировкив значения NA для заработной платы.

 Major     Int_numb      avg_salary
 <fctr>      <dbl>           <dbl>
 Biochem       2              70000             
 Biosystems    2              290000

1 Ответ

0 голосов
/ 15 марта 2019

Вы можете использовать dplyr для этого. Как то так:

library(dplyr)
work_dat %>%
    group_by(Major) %>%
    mutate(avg_salary = ifelse(is.na(avg_salary), mean(avg_salary, na.rm = T), avg_salary))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...