R 如何对列表中的每个DF进行操作

R 如何对列表中的每个DF进行操作,r,lapply,na,R,Lapply,Na,我在列表中有一堆数据帧。我想用0覆盖每个DF中的每个NA。我可以做到: data <- lapply(1:n, function(x){ df <- merged[[x]] df[is.na(df)] <- 0 merged[[x]] <- df } ) data您可以这样做: merged <- replicate(2, data.frame(c(1, NA)), simplify = FALSE

我在列表中有一堆数据帧。我想用0覆盖每个DF中的每个NA。我可以做到:

data <- lapply(1:n, function(x){
        df <- merged[[x]]
        df[is.na(df)] <- 0
        merged[[x]] <- df
        }
) 

data您可以这样做:

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

merged
lappy
遍历列表并返回一个列表。每个列表元素作为
df
传递给内部函数。函数将NA替换为0并返回数据帧。