在R

时间:2017-08-29 15:04:39

标签: r dataframe

我正在尝试在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的问题完全不同。但感谢引用。 我正在寻找正确的语法来在循环中创建多个文件,其中有其他请求。在我看来,您引用的示例只能帮助基于虹膜数据集的子集创建多个文件。

1 个答案:

答案 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)  )  
   }