用于估算缺失值的功能

 tomphilip_399_140 发布于 2023-02-13 23:08

我有一个如下所示的数据框:

set.seed(300)
df <- data.frame(site = sort(rep(paste0("site", 1:5), 5)), 
                 value = sample(c(1:5, NA), replace = T, 25))

df 

    site value
1  site1    NA
2  site1     5
3  site1     5
4  site1     5
5  site1     5
6  site2     1
7  site2     5
8  site2     3
9  site2     3
10 site2    NA
11 site3    NA
12 site3     2
13 site3     5
14 site3     4
15 site3     4
16 site4    NA
17 site4    NA
18 site4     4
19 site4     4
20 site4     4
21 site5    NA
22 site5     3
23 site5     3
24 site5     1
25 site5     1    

如您所见,列中有几个缺失值value.我需要value用列表的平均值替换列中的缺失值.因此,如果value测量值存在缺失值site1,我需要将均值归结valuesite1.但是,数据帧不断被添加到R并导入到R中,下次导入数据帧时,它可能会增加到50行的长度,并且可能会有更多的缺失值value.我需要创建一个函数,它将自动检测哪个站点的缺失值value被测量,并为该特定站点计算缺失值.有人可以帮帮我吗?

1 个回答
  • 利用impute()从包Hmiscddply从包plyr:

    require(plyr)
    require(Hmisc)
    
    df2 <- ddply(df, "site", mutate, imputed.value = impute(value, mean))
    

    2023-02-13 23:24 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有