正如主题所建议的,我如何使用lapply/map/etc编写以下操作以在R中更高效?
for(i in 1:length(tbl)){
tbl[[i]] <- filter(tbl[[i]], tbl[[i]][, 7] >= 10)
}
其思想是基本上从列表的每个元素(数据帧(中过滤第7列,以便输出仅给出在所有数据帧的第7列中保持10或更大的值。我试过这样的东西,但没有让代码工作:
lapply(tbl, function(x) filter(x, tbl[[x]][, 7] >= 10))
lapply(tbl, function(x) x[x[,7] >= 10,])
或使用dplyr::filter
lapply(tbl, function(x) filter(x, x[,7] >= 10))
使用purrr::map
map(tbl, ~filter(.x, .x[,7] >= 10))