Я следующий кадр данных (упрощенный) с переменной страны как фактор и значение переменной имеет отсутствующие значения:Как заполнить Nas с LOCF факторами в кадре данных, расщепленных стране
country value
AUT NA
AUT 5
AUT NA
AUT NA
GER NA
GER NA
GER 7
GER NA
GER NA
В Ниже генерирует вышеуказанный кадр данных:
data <- data.frame(country=c("AUT", "AUT", "AUT", "AUT", "GER", "GER", "GER", "GER", "GER"), value=c(NA, 5, NA, NA, NA, NA, 7, NA, NA))
Теперь, я хотел бы заменить значения NA в каждой стране подмножества с использованием метода последнего наблюдения вперед (LOCF). Я знаю команду na.locf
в зоопарке. data <- na.locf(data)
даст мне следующий кадр данных:
country value
AUT NA
AUT 5
AUT 5
AUT 5
GER 5
GER 5
GER 7
GER 7
GER 7
Однако функция должна быть использована только на отдельных подмножеств расщепленных страны. Ниже приводится вывод, который мне понадобится:
country value
AUT NA
AUT 5
AUT 5
AUT 5
GER NA
GER NA
GER 7
GER 7
GER 7
Я не могу придумать простой способ его реализации. Прежде чем начать с for-loops, мне было интересно, есть ли у кого-нибудь идеи относительно того, как это решить.
Большое спасибо!
Вы можете получить более быстрый ответ, если вы отредактировали свой вопрос, чтобы включить разумную структуру тестовых данных. –
Вы хотите [зоопарк :: na.locf()] (http://www.inside-r.org/packages/cran/zoo/docs/na.locf)! – smci