Ich habe in einer Liste von Datensätzen gelesen und diese n aufgerufen. Was ich tun möchte, ist eine Teilmenge der Datensätze von n und Zeile binden sie zusammen in R. Wenn ich versuche, gehen rbind(n)
dies gibt mir nur den Datenrahmen aller Namen der Datensätze, anstatt die Elemente tatsächlich setzen jedes Datensatzes untereinander. Ich möchte Teilmengen der Datensätze binden, die einen gemeinsamen Namen haben. Zum Beispiel beginnen 18 der Datensätze mit "4". und ich möchte all diese Dinge miteinander verbinden. Gibt es einen einfachen Weg, dies zu tun?Reihe Binden einer Reihe von Datensätzen?
Antwort
Wollen Sie tun ist rbind(n[[1]],n[[2]],...)
, die nicht das gleiche wie rbind(n)
ist.
Sie müssen dies nicht schreiben, können Sie do.call
verwenden diese call
do.call(rbind, n)
zu erstellen und auszuführen, die Sie den gewünschten Befehl ausgeführt werden soll. Dies ist jedoch notoriously slow
Sie rbindlist
vom data.table
Paket verwenden können, die gleiche Sache viel schneller
library(data.table)
rbindlist(n)
Wenn Sie nur die Elemente tun wollen, deren Name mit 4
rbindlist(n[grep(names(n), pattern = '^4')])
beginnen Wenn Sie versuchen, viele Dateien zu aggregieren. Möglicherweise benötigen Sie die rbind.fill
-Funktion in plyr-Paket (ich don'konw, wenn es eine data.table entspricht)
ll <- list(a=data.frame(x=1,y=2,z=1),
b= data.frame(x=2,y=3),
c=data.frame(x=3:4,y=5))
library(plyr)
Reduce(rbind.fill,ll[c('a','b')]) ## subset by list names and
## apply recursively using Reduce
x y z
1 1 2 1
2 2 3 NA
Ich kenne kein rbind.fill Äquivalent, aber ich habe etwas implementiert http://stackoverflow.com/a/15017231/1385941 – mnel
- 1. Definieren einer Bestellung zu einer Reihe von verknüpften Datensätzen
- 2. Kopieren einer Reihe von Datensätzen mit Einschränkungen, mit gemeinsamen Vorfahren
- 3. GridView zum Einfügen einer Reihe von Datensätzen in ASP.NET C#
- 4. Eine Reihe von Daten mit einer Reihe von Tagen filtern
- 5. Drucken einer Reihe von JPanels
- 6. Generieren einer Reihe von Daten
- 7. Bedeutung von „Gesamtgröße“ einer Reihe
- 8. Sortieren einer Reihe von Werten
- 9. Schwierigkeit beim Aktualisieren der Reihe von Datensätzen in Access-Datenbank
- 10. eine Reihe von Datensätzen aus SQL-Abfrage Oracle
- 11. One‘s Complement einer Reihe
- 12. CSS Unregelmäßige Reihen, Reihe von 8, Reihe von 8, wiederholt
- 13. Daten von einer Reihe von Auswahlfeldern posten
- 14. bash; Entfernen von einer Reihe von Suffixen
- 15. Yii2 Gridview Reihe für Reihe css Ausdruck
- 16. killing Reihe von Prozessen
- 17. gewichteten Mittelwert von Reihe
- 18. Daten von Spalte Reihe
- 19. Count Blöcke in einer Reihe
- 20. Java - Erstellen einer Reihe von Methoden
- 21. Seltsames Zeichen nach einer Reihe von Zeichen
- 22. Excel Zufallszahl aus einer Reihe von Optionen
- 23. Bewegen einer Reihe von Punkten (Autos)
- 24. Kontextmenü in einer Reihe von TableView?
- 25. JLists mit einer Reihe von Objekten
- 26. Erste Termine zwischen einer Reihe von Terminen
- 27. Vergleichen von Werten in einer Reihe
- 28. Zeichnen einer Reihe von Kugeln funktioniert nicht
- 29. Überprüfen einer Reihe von Zahlen auf Konsistenz
- 30. Skalierung einer Reihe von Zahlen in PHP?
Ehrfürchtig danke das tut genau das, was ich will! Nun, wie kann ich das für eine Teilmenge tun, sagen Dateien mit "4." Irgendwo in ihrem Namen innerhalb von n ohne wirklich zu schauen welche Nummern in der Liste gehören diese Dateien? – user1836894
@ user1836894 Sind das die Namen der Elemente der Liste? – mnel
Ja, das sind sie. Ich habe eine Liste von Dateien und das sind die Namen, die zu einer Teilmenge der Dateien gehören. – user1836894