2017-08-29 131 views
-1

我想在R上运行一个循环脚本,该脚本应该创建多个数据框,每个数据框有唯一的名称;与循环相关的变量“aim”的名称。在R中创建多个循环表

找到下面的代码的一部分:

library(dplyr) 
for(**act** in c(1,2,3,4,5,6)){ 
xysubject_complete[[act]]<-filter(xysubject_complete,Activities==act) 
    }. 

故障似乎与[行动]作为代码与静态数据帧效果很好。 对于最终的结果,我希望能创造 到 “xysubject_complete6”命名为“xysubject_complete1”, “xysubject_complete2”, “xysubject_complete3” 6个不同的表......。 变量“act”与循环绑定并创建一个标有存储编号的新表。 问题:使这种情况发生的适当语法是什么? 什么是估计“xysubject_complete [[行动]]”的正确选择? 谢谢,伙计们。

编辑。 这个问题实际上与您指出的问题完全不同@但Jaap ..但谢谢你的引用。 我一直在寻找正确的语法来创建多个文件,在其中有其他请求的循环。在我看来,您引用的示例只能帮助您创建基于虹膜数据集子集的多个文件。

+0

请阅读[如何提出一个很好的问题(HTTP的信息://计算器.com/help/how-to-ask)以及如何给出[可重现的示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610 )。这会让其他人更容易帮助你。 – Jaap

+0

编辑。这个问题实际上与你指出的问题完全不同@但Jaap ..不过谢谢你的提及。我正在寻找正确的语法,以在其他请求的循环中创建多个文件。在我看来,您引用的示例只能帮助您创建基于虹膜(或其他)数据集子集的多个文件。 – SBlow

回答

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) ) 
    } 
+1

'fortunes :: fortune(236)':*唯一应该使用assign函数的人是那些完全理解你为什么不应该使用assign函数的人。* – Uwe