2017-08-29 1 views
-1

Ich versuche, ein Loop-Skript auf R auszuführen, die mehrere Datenrahmen mit jedem Datenrahmen mit einem eindeutigen Namen erstellen sollte; ein Name mit der Variable "Ziel" an die Schleife gebunden.Erstellen Sie mehrere Tabellen mit Schleife in R

unter einem Teil des Codes finden:

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

Der Fehler scheint mit dem [[handeln]] zu sein, wie der Code auch mit statischen Daten-Frames arbeitet. Für das Endergebnis, ich bin der Hoffnung, 6 verschiedene Tabellen erstellen namens "xysubject_complete1", "xysubject_complete2", "xysubject_complete3" .... zu "xysubject_complete6". Die Variable "act" knüpft an die Schleife an und erstellt eine neue Tabelle mit der gespeicherten Nummer. Die Frage: Was ist die geeignete Syntax, um dies zu erreichen? Was ist die richtige Alternative zum Abschätzen von "xysubject_complete [[act]]"? Danke, Leute.

Bearbeitungen. Die Frage ist eigentlich ganz anders als die Frage, auf die Sie hingewiesen haben @ Jaap..aber danke, dass Sie das zitiert haben. Ich suchte nach der korrekten Syntax, um mehrere Dateien innerhalb einer Schleife zu erstellen, in der andere Anforderungen vorhanden sind. Das Beispiel, das Sie meiner Meinung nach zitiert haben, kann nur dazu beitragen, mehrere Dateien basierend auf einer Teilmenge des Iris-Datensatzes zu erstellen.

+0

Bitte lesen Sie die Informationen über [wie eine gute Frage] (http: // Stackoverflow und wie man ein [reproduzierbares Beispiel] gibt (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610). Dies wird es anderen sehr erleichtern, Ihnen zu helfen. – Jaap

+0

Bearbeitungen. Die Frage ist eigentlich ganz anders als die Frage, auf die Sie @ Jaap hingewiesen haben. Aber danke, dass Sie das zitiert haben. Ich habe nach der korrekten Syntax gesucht, um mehrere Dateien innerhalb einer Schleife zu erstellen, in der andere Anfragen stehen. Das Beispiel, das Sie meiner Meinung nach zitiert haben, kann nur dazu beitragen, mehrere Dateien basierend auf einer Teilmenge der Iris (oder anderer) Datasets zu erstellen. – SBlow

Antwort

0

Dies ist ein exemple:

 library(dplyr) 
     data(mtcars) 
     for(cyl in c(4,6,8)){ 
      assign(paste0("mtcars",cyl) , filter(mtcars, cyl == cyl) ) 
     } 

Für Ihre exemple, könnten Sie dies versuchen:

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)': * Die einzigen Personen, die die Zuweisungsfunktion verwenden sollten, sind diejenigen, die vollständig verstehen, warum Sie niemals die Zuweisungsfunktion verwenden sollten. * – Uwe

Verwandte Themen