r - 在 for 循环中操作数据帧列表
问题描述
我正在准备数据框以在 R 中进行分析。我可以正确地分别准备它们,但出于显而易见的原因,我想将准备工作放在 for 循环(或apply
/ lapply
?)中。
初始代码是这样的(每个数据帧都有效),其中indHab
是一个数据帧:
indHabO <- indHab[complete.cases(indHab),]
row.names(indHabO) <- indHabO$Location
indHabO[1] <- NULL
indHabOK <- indHabO[,colSums(indHabO) > 0.1]
我尝试了一个 for 循环,但我被卡住了。我唯一知道的是,在尝试某种循环之前将所有数据帧放在一个列表中是明智的,就像这样:
dataSets <- list(indHab, indLoc, famHab, famLoc, indicatorHab_2012,
indicatorHab_2018, indicatorLoc_2012, indicatorLoc_2018)
如何在列表中的所有数据帧上循环操作?
解决方案
感谢 r2evans,这就是我使用的。
它将所有操作过的数据帧放在一个新列表中。
dataSetsOK <- lapply(dataSets, function(x) { x <- x[complete.cases(x),]; row.names(x)
<- x$Location; x[1] <- NULL; x <- x[,colSums(x) > 0.1] })
推荐阅读
- sapui5 - 如何在单击时将分段按钮更改为下一个
- .net - 套接字上的线程太慢
- ethereum - 无法在 Ubuntu 16.04 上安装旧版本的 Geth 1.8.27
- .net-core - 如何使用默认的 ITextTemplatingEngineHost 来运行 processTemplate?
- arrays - 如何从具有不同返回类型的 2 个重载函数返回一个值?
- .net - .NET 核心包
- swift - 迅速。如何设置自定义数字格式?带有空格分隔符和点后的两位数
- c - 为什么系统调用 chdir() 不接受以“~”开头的路径名?
- angular - 在现有 Git 存储库上创建客户端/服务器文件夹结构
- docker - 是否可以在集群内的容器内运行 kubectl?