在数据帧列表中将NAs转换为0

时间:2018-02-22 18:17:17

标签: r list dataframe na

我知道以前曾经问过这个问题,但答案总是过于具体。我对此也有点新鲜。

我有180个数据框的列表WaFrames。我需要影响他们所有因为手动需要太长时间。

基本df[is.na(df)] <- 0在一帧上工作得很好,但是当我试图让它在列表中的每一帧上工作时,我都会陷入困境。我已经尝试了所有lapply方式并尝试了循环。我很难过。

另外一个答案可能会让我知道如何对所有帧进行其他彻底的更改。

提前致谢!

1 个答案:

答案 0 :(得分:2)

你可以这样做:

x <- dplyr::data_frame(a = c(NA, 1, 2, NA),
                       b = c(1, 2, NA, 3))
y <- dplyr::data_frame(a = c(NA, 3, 4, NA),
                       b = c(1, 2, NA, 3))

listy <- list(x, y)
func <- function(df){
  df[is.na(df)] <- 0
}
purrr::map(listy, function(x) replace(x, is.na(x), 0))