根据标识符估算缺失值

Inpute missing value based on identifier

我喜欢根据某个变量的值与匹配索引的配对来填充某些变量的缺失值。示例(第一列是索引;第二列是值)。

mat <- cbind(c(1,1,2,2,3,3,4,4,4), c(4.3, NA, 2.4, NA, 3.8, NA, 1.2, NA, NA))

newmat <- cbind(c(1,1,2,2,3,3,4,4,4), c(4.3, 4.3, 2.4, 2.4, 3.8, 3.8, 1.2, 1.2, 1.2))

我们可以使用fill

library(dplyr)
library(tidyr)
mat %>% 
  as_tibble %>% 
  group_by(V1) %>% 
  fill(V2, .direction = 'updown')