我在列表中有一堆数据框。我想用0覆盖每个DF中的每个NA。我可以这样做:
data <- lapply(1:n, function(x){
df <- merged[[x]]
df[is.na(df)] <- 0
merged[[x]] <- df
}
)
但这会产生很多开销,我想避免。这样做有更明智的方式吗?
答案 0 :(得分:2)
你可以这样做:
merged <- replicate(2, data.frame(c(1, NA)), simplify = FALSE)
(data <- lapply(merged, function(df) { df[is.na(df)] <- 0; df} ) )
# c.1..NA.
# 1 1
# 2 0
#
# [[2]]
# c.1..NA.
# 1 1
# 2 0