【发布时间】:2018-05-14 18:10:29
【问题描述】:
我有什么:
colA colB colC
pen 2 1
NA yes no
NA yes NA
pencil 1 2
NA yes no
NA no NA
我想要的是将 colA 中的所有 NA 替换为前面的值。
colA colB colC
pen 2 1
pen yes no
pen yes NA
pencil 1 2
pencil yes no
pencil no NA
我怎样才能在 R. 中得到这个? 感谢您的帮助。
【问题讨论】:
-
library(dplyr);df %>% fill(colA) -
replace_na_with_last <- function(x, a =! is.na(x)){ x[which(a)[c(1, 1:sum(a))][cumsum(a)+1]] } -
@akrun
fill来自tidyr -
Akrun 的回答有效:) tidyr::fill
标签: r