заменить NA в той же группе на значение - PullRequest
1 голос
/ 05 августа 2020
DF<-data.frame(id=c(1,1,2,3,3),code=c("A","NA","A","NA","E"))
> DF
  id code
1  1    A
2  1   NA
3  2    A
4  3   NA
5  3    E

Желаемый результат:

  id code
1  1    A
2  1    A
3  2    A
4  3    E
5  3    E

Я хочу заменить NA в каждой группе значением, отличным от NA.

Best H

1 Ответ

1 голос
/ 05 августа 2020

Мы можем использовать

library(dplyr)
DF %>%
   group_by(id) %>%
    mutate(code = first(code[!is.na(cod)]))

Или также может быть fill, если намерение состоит в том, чтобы заменить NA на предыдущий не-NA

library(tidyr)
DF %>%
   group_by(id) %>%
   fill(code)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...