Заменить на среднее значение для конкретного дня и сетки
Я использую большой набор данных, и я не привык использовать такой большой (286,212 строк, 19 столбцов), и я не уверен, как решить мою проблему. данные состоят из значений для каждого дня года для 782 ссылок на сетку, и у меня есть это в течение 15 лет. Выглядит это следующим образом
**Month Day Grid x2004 x2005 x2006 x2007** 1 1 A10 0.091 0.134 NA 0.066 1 2 A10 0.12 0.10 0.23 0.054 1 3 A10 0.55 NA NA 0.08 1 1 B10 NA 0.134 NA 0.17 1 2 B10 0.14 0.151 NA 0.21 1 3 B10 0.43 0.162 0.24 NA
Однако некоторые дни отсутствуют, и я хочу вставить среднее значение этого дня для этой конкретной сетки, используя значения из других лет. Так что если сетка А10 на 1-й день 2006 года отсутствует. Я хочу вставить среднее значение для сетки А10 дня 1 с 2004, 2005, 2007 годов, в данном случае 0,097.
Что я уже пробовал:
Я пробую следующий код
x<-for(i in 1:ncol(data)){ data[is.na(data[,i]) ,i] <- mean(data[,i], na.rm = TRUE) }
но, кажется, он находит колонку, означающую, что я думаю, и добавляет ее. Я также попытался изменить его на
x<-for(i in 1:nrow(data)){ data[is.na(data[i,]) ,i] <- mean(data[i,], na.rm = TRUE) }
и это тоже не сработало. Я уже спрашивал о stackoverflow, но пока не получил решения. Я не программист, и это последний бит кодирования, который мне нужен для анализа статистики для моей докторской степени, поэтому я очень отчаянно пытаюсь понять это, но я просто не знаю, как это сделать. Я знаю, что этот форум предназначен для других языков программирования, но, пожалуйста, помогите, если можете.