我正在尝试在R上运行一个循环脚本,它应该创建多个数据帧,每个数据帧都有一个唯一的名称;带有变量的名称"目标"与循环相关联。
在下面找到代码的一部分:
library(dplyr)
for(**act** in c(1,2,3,4,5,6)){
xysubject_complete[[act]]<-filter(xysubject_complete,Activities==act)
}.
错误似乎与[[act]]有关,因为代码适用于静态数据帧。 为了最终结果,我希望创建6个名为&#34; xysubject_complete1&#34;的不同表, &#34; xysubject_complete2&#34 ;, &#34; xysubject_complete3&#34; .... 至 &#34; xysubject_complete6&#34 ;. 变量&#34; act&#34;与循环绑定并创建一个标有存储号码的新表。 问题是:实现这一目标的适当语法是什么? 什么是估算&#34; xysubject_complete [[act]]&#34 ;?的正确选择? 谢谢,伙计们。
编辑。 问题实际上与你指出@ Jaap的问题完全不同。但感谢引用。 我正在寻找正确的语法来在循环中创建多个文件,其中有其他请求。在我看来,您引用的示例只能帮助基于虹膜数据集的子集创建多个文件。
答案 0 :(得分:0)
这是一个例子:
library(dplyr)
data(mtcars)
for(cyl in c(4,6,8)){
assign(paste0("mtcars",cyl) , filter(mtcars, cyl == cyl) )
}
对于你的例子,你可以试试这个:
library(dplyr)
data(mtcars)
for(act in c(1,2,3,4,5,6)){
assign(paste0("xysubject_complete",act) , filter(xysubject_complete, Activities == act) )
}