【发布时间】:2020-01-07 21:56:43
【问题描述】:
我知道这个问题可能是重复的。
我有一个矩阵列表,对于每个矩阵,我想确定第一列中是否存在 NA。如果存在 NA,我想确定它的位置(行)并删除该行。我想将此操作应用于列表中的所有矩阵。
mat1 <- data.frame(matrix(nrow =2, ncol =2, data = c(NA, 0,0,1)))
mat2 <- data.frame(matrix(nrow =2, ncol =5, data = c(0,0,1,2,1,NA,1,1,1,1)))
mat3 <- data.frame(matrix(nrow =3, ncol =2, data = c(NA, 0,0,1,NA,1)))
list <- list(mat1,mat2,mat3)
lapply(list, function(x) !is.na(x[,1]))
我希望将输出存储在等效列表中(例如 list2)。例如 list2[[1]] 将是一个 1x2 矩阵。 list2[[2]] 将是一个 1x5 矩阵。并且列表 2[[3]] 将是一个 1x2 矩阵(仅在第 1 列中保留没有 NA 的行)
【问题讨论】: