Я застрял при попытке заменить NA средними значениями, и я был бы очень признателен за помощь.
Я хочу заменить NA в нескольких столбцах кадра данных средним значением группы в столбце.В приведенном ниже примере я хотел бы заменить NA в x1 на 14,5, поскольку 13 и 16 в месяце 1. NA в x2 следует заменить на 4,5.
Вот как я это пробовал:
library(tidyverse)
df <- tibble(x1 = c(13, NA, 16, 17, 16, 12), x2 = c(1, 4, 4, 3, 5, NA),
month = c(1, 1, 1, 2, 2, 2))
by_month <- group_by(df, month)
for (i in length(df)){
for (j in nrow(df[[,i]])){
if(is.na(df[[j, i]])){
df[[j, i]] <- summarize(by_month[[j, i]],
group_mean = mean(df[[, i]], na.rm=TRUE))
}
else{
df[[j, i]] <- df[[j, i]]
}
}
}
Однако я просто получаю сообщение об ошибке "Аргумент" ..1 "отсутствует, по умолчанию нет", который я исследовал - но это не помогло.Любая помощь была бы великолепна:)