Konvertieren Komma getrennt Eintrag zu Spalten
Ich habe einen Datensatz mit mehreren Spalten, eine davon ist eine Spalte für die Reaktionszeiten. Diese Reaktionszeiten werden durch Komma getrennt, um die Reaktionszeiten (gleicher Teilnehmer) für die verschiedenen Proben.
Beispiel: Zeile 1 (d.h.: die Daten von Teilnehmer 1) hat die folgende unter der Rubrik "Reaktionszeiten"
reaction_times
2000,1450,1800,2200
Deshalb im folgenden sind die Reaktionszeiten der Teilnehmer 1 für Studien 1,2,3,4
.
Will ich jetzt einen neuen Datensatz erstellen, in denen die Reaktionszeiten für diese Studien bilden alle einzelnen Spalten. Dadurch kann ich berechnen, die mittlere Reaktionszeit für jede Studie.
trial 1 trial 2 trial 3 trial 4
participant 1: 2000 1450 1800 2200
Ich habe versucht, die "colsplit" aus der "reshape2"-Paket, aber das scheint nicht zu splitten, meine Daten in neue Spalten (vielleicht, weil meine Daten alle in 1 Zelle).
Irgendwelche Vorschläge?
InformationsquelleAutor user1092247 | 2011-12-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie sind auf der Suche für die strsplit() Funktion;
Beachten Sie, dass strsplit gibt eine Liste, in diesem Fall mit nur einem element. Dies ist, weil strsplit dauert Vektoren als Eingabe. Daher können Sie auch einen langen Vektor Ihrer einzelnen Zelle Zeichen in die Funktion und wieder eine aufgeteilte Liste von vector. In eine relevantere Beispiel so Aussehen:
und schließlich, berechnen Sie den Mittelwert pro person:
Sie sind zu Recht über die colMeans natürlich :). Ich denke jedoch, dass die Verwendung gelten, ist auch schön, weil es viel flexibler ist. ps Sind Sie auch aus den Niederlanden?
Danke! Ja, ich bin auch aus NL 🙂
InformationsquelleAutor Paul Hiemstra
Eine nette, wenn auch sehr heavy-handed, Weg ist die Verwendung
read.csv
in Verbindung mittextConnection
. Vorausgesetzt, Ihre Daten in einen Daten-frame,df
:Elegante Lösung! Wäre interessant zu sehen, wenn Sie, wie unsere Lösungen vergleichen in Bezug auf die Geschwindigkeit bei wirklich großen Datenmengen.
Funktioniert auch perfekt (kann ich mir eigentlich genehmigen sowohl als Lösungen?)
InformationsquelleAutor Hong Ooi
Alte Frage, aber ich kam über Sie aus eine andere aktuelle Frage (das scheint nicht).
Beiden vorhandenen Antworten sind angemessen, aber ich wollte eine Antwort bezogen auf ein Paket habe ich erstellt namens "splitstackshape" , ist schnell und hat eine einfache syntax.
Hier einige Beispieldaten:
Dies ist die Aufteilung:
Und Optional, wenn Sie benötigen, um die
rowMeans
:InformationsquelleAutor A5C1D2H2I1M1N2O1R2T1
Anderen option mit dplyr und tidyr mit Paul Hiemstra Beispiel Daten:
InformationsquelleAutor sdevine188