2017-08-29 180 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