【发布时间】:2013-11-28 18:51:12
【问题描述】:
我有一个如下所示的数据框:
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列中有几个缺失值。我需要用站点的平均值替换 valuecolumn 中的缺失值。因此,如果在site1 处测量的value 存在缺失值,我需要将value 的平均值估算为site1。然而,数据框不断地被添加并导入到 R 中,下次我导入数据框时,它的长度可能会增加到 50 行,value 中可能会有更多的缺失值。我需要创建一个函数来自动检测value 中的缺失值是在哪个站点测量的,并为该特定站点估算缺失值。有人可以帮我吗?
【问题讨论】:
标签: r missing-data