У меня есть dataframe, который выглядит следующим образом:Функции приписывать отсутствует значение
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
, мне необходимо ввести среднее значение value
за site1
. Тем не менее, dataframe постоянно добавляется и импортируется в R, и в следующий раз, когда я импортирую фреймворк данных, он, вероятно, увеличится до примерно 50 строк в длину, и в value
, вероятно, будет еще много отсутствующих значений. Мне нужно сделать функцию, которая автоматически определит, на каком сайте было измерено отсутствующее значение в value
, и приложите недостающее значение для этого конкретного сайта. Может ли кто-нибудь помочь мне в этом?