У меня есть категориальная переменная с тремя уровнями (A
, B
и C
).
У меня также есть непрерывная переменная с пропущенными значениями.
Я хотел бы заменить значения NA
на среднее значение по своей группе. Это означает, что пропущенные наблюдения из группы A
должны быть заменены на среднее значение по группе A
.
Я знаю, что могу просто рассчитать среднее значение каждой группы и заменить пропущенные значения, но я уверен, что есть другой способ сделать это более эффективно с помощью циклов.
A <- subset(data, group == "A")
mean(A$variable, rm.na = TRUE)
A$variable[which(is.na(A$variable))] <- mean(A$variable, na.rm = TRUE)
Теперь я понимаю, что мог бы сделать то же самое для группы B
и C
, но, возможно, цикл for
(с if
и else
) мог бы сработать?