Мой вопрос касается этого одного в ссылке.Пожалуйста, отметьте дубликаты (и перенаправьте меня, пожалуйста), если кто-то еще спрашивал об этом расширении (мой поиск был бесполезен).
У меня есть огромные данные по многим идентификаторам и времени. пример данных:
id <- c('a','b','c','d','a','b','c','d','a','b','c','d','a','b','c', 'd')
time <- c(2000,2000,2000,2000,2001,2001,2001,2001,2002,2002,2002,2002, 2003,2003,2003,2003)
x <- c(1,2,3,NA,4,5,6,NA,7,8,9,NA,10,11,12,12)
y <- c(NA,2,NA,NA,4,5,NA,NA,7,8,9,NA,10,11,12,12)
z <- c(NA,2,3,NA,4,5,NA,NA,7,8,9,NA,NA,11,12,12)
w <- c(NA,2,3,NA,4,5,6,NA,7,8,9,NA,NA,11,12, 12)
mydata <- data.frame(id, time, x, y, z, w)
Вопрос: Я пытаюсь написать кусок кода, который будет выполнять следующее:
- Держите идентификаторы в приоритетном порядке.То есть в приведенных выше примере данных идентификатор b является приоритетом, так как в нем нет данных, пропущенных во времени.Затем сохраните идентификатор c, так как он имеет 2 года со всеми данными и один пропущен в 2000 году, а два пропущены в 2001 году.
- Сбросить идентификаторы в порядке приоритета.D будет отброшен, и будет сохранен.
- У меня слишком много идентификаторов, поэтому этот код должен повторяться по всем им и за все годы.
Первоначальные попытки: Использование вышеупомянутого решения с некоторой работой не помогло мне.Я могу отбросить идентификаторы ds всякий раз, когда они являются NA, но для других лет переменные могут быть заполнены, и в этом случае я хотел бы вложить ограниченное число пропущенных значений.Так, скажем, d доступен по крайней мере 6 лет, я держу d.