Tidyverse для получения последнего числового значения в кадре данных - PullRequest
0 голосов
/ 19 сентября 2019

У меня уменьшенный кадр данных:

df <- data.frame(Name=c('A','A','B','B','B','B','A','A','A','B'),
                 Date=c('2018-04','2018-05','2018-06','2018-07','2018-08','2018-09','2018-10','2018-11','2018-12','2019-01'),
                 Value=c(4,1,2,NA,4,6,NA,8,3,5))

Я пытаюсь заменить NA последней известной числовой переменной.В созданном фрейме данных первый NA сверху должен быть заменен на 2, 2-й NA заменен на 1.

Я пробовал tidyverse из этого поста: Заменить 0 на предыдущее ненулевое значениеза идентификатор (отставание)

И применил его так:

df <- df %>%
  group_by(Name) %>%
  mutate(x = replace(Value,NA,0)) %>% fill(x)

, который заменяет его по назначению.Однако в больших данных я не уверен, что мой код обратного обращения верен, так как мой тип R зависает на реальных данных после достижения 100%.

| =============================================================== | Осталось 100% ~ 0 с

Надеюсь, кто-то может указать мне правильное направление, почему он зависает или есть альтернативное решение (в случаеаппаратные ограничения) при получении последнего числового значения идентификатора (имени), если его последнее значение равно NA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...