首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用基于另外两个变量的列的平均值填充原始数据帧的子集的给定列中的NAs

如何使用基于另外两个变量的列的平均值填充原始数据帧的子集的给定列中的NAs
EN

Stack Overflow用户
提问于 2019-03-16 02:43:21
回答 1查看 75关注 0票数 0

因此,我有一个学生数据集,我目前正在清理,我已经取得了数据框架的一个子集,并希望根据与特定专业关联的平均工资和非缺失值的实习数量来填充这个子集的工资列中的NAs。

所以如果我有:

代码语言:javascript
复制
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

例如,我想将生物化学和生物系统专业的平均工资替换为NA值,在本例中为2个实习。

代码语言:javascript
复制
 Major     Int_numb      avg_salary
 <fctr>      <dbl>           <dbl>
 Biochem       2              70000             
 Biosystems    2              290000
EN

回答 1

Stack Overflow用户

发布于 2019-03-16 02:46:43

您可以使用dplyr来实现这一点。如下所示:

代码语言:javascript
复制
library(dplyr)
work_dat %>%
    group_by(Major) %>%
    mutate(avg_salary = ifelse(is.na(avg_salary), mean(avg_salary, na.rm = T), avg_salary))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55188925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档