r - R中的命令循环?
问题描述
我有一组命令为大量子集创建新数据帧。命令是相同的,但唯一改变的是子集的一些数字(从 1 到 n)。
命令是:
a1 <- data[block$block.1$main.inds,]
a2 <- data[block$block.2$main.inds,]
a3 <- data[block$block.3$main.inds,]
.
.
.
a50 <- data[block$block.50$main.inds,]
我试图通过使用以下代码来自动化它,但没有成功:
for (i in 1:50) {
a[i]<- data[block$block.[i]$main.inds,]
}
任何帮助,将不胜感激!
解决方案
最好不要在全局环境中创建多个对象。在目前的情况下,我们可以使用assign
for(i in 1:50) {
assign(paste0('a', i), data[block[[paste0('block.', i)]]]$main.inds,])
}
或者最好将其存储在list
lst1 <- lapply(paste0('block.', 1:50), function(bl) data[block[[bl]]]$main.inds,])
names(lst1) <- paste0("a", 1:50)
推荐阅读
- javascript - 具有拖放重新排列节点/插入节点的 Angular JavaScript 树视图
- sql - how to update multiple records in sql
- java - java在方法中输入多个字符串
- angular - Ion-select multiple="true" 在 ngFor 中不起作用
- java - 如何更改字符串链表的内容
- angular - 每次部署后 Angular 应用程序都需要刷新浏览器
- sas - SAS 数据步骤中的 SAS 连接
- android - 从 Android Studio 的列表中呼叫联系人
- java - 如何保存 RatingBar 值?
- django - Django序列化程序DoesNotExist:匹配查询不存在错误