Ich bin wissenschaftlicher Mitarbeiter für ein Labor (ehrenamtlich). Ich und eine kleine Gruppe wurden mit der Datenanalyse für einen Datensatz aus einer großen Studie beauftragt. Leider wurden die Daten mit einer Art Online-App gesammelt und nicht so programmiert, dass die Daten in der am besten verwendbaren Form ausgegeben wurden.
Die folgenden Bilder veranschaulichen das Grundproblem. Mir wurde gesagt, dass dies eine "Umformung" oder "Umstrukturierung" genannt wird.
Frage: Wie kann man am besten von Bild 1 zu Bild 2 mit einem großen Datensatz mit mehr als 10.000 Einträgen wechseln?
r
excel
data-cleaning
Wilkoe
quelle
quelle
data.table
,dplyr
,plyr
, undreshape2
- ich empfehle Excel und Pivot - Tabellen , wenn möglich , vermieden werden .Antworten:
Wie ich in meinem Kommentar angemerkt habe , enthält die Frage nicht genügend Details, um eine echte Antwort zu formulieren. Da Sie Hilfe brauchen, um die richtigen Begriffe zu finden und Ihre Frage zu formulieren, kann ich kurz im Allgemeinen sprechen.
Der Begriff, den Sie suchen, ist Datenbereinigung . Dies ist der Prozess, bei dem rohe, schlecht formatierte (schmutzige) Daten für Analysen in Form gebracht werden. Das Ändern und Regularisieren von Formaten ("zwei" ) und das Reorganisieren von Zeilen und Spalten sind typische Datenbereinigungsaufgaben.→ 2
In gewissem Sinne kann die Datenbereinigung in jeder Software und mit Excel oder R durchgeführt werden. Beide Optionen haben Vor- und Nachteile:
R: R erfordert eine steile Lernkurve. Wenn Sie mit R oder Programmieren nicht sehr vertraut sind, ist es frustrierend, wenn Sie es mit R versuchen. Wenn Sie dies jedoch jemals wieder tun müssen, ist das Lernen abgeschlossen Zeit gut verbracht. Die Möglichkeit, Ihren Code für die Bereinigung der Daten in R zu schreiben und zu speichern, verringert außerdem die oben aufgeführten Nachteile. Über die folgenden Links können Sie mit diesen Aufgaben in R beginnen:
Sie können viele gute Informationen zu Stack Overflow erhalten :
Quick-R ist auch eine wertvolle Ressource:
Zahlen in den numerischen Modus versetzen:
Eine weitere wertvolle Quelle, um mehr über R zu erfahren, ist die Statistik-Hilfeseite der UCLA :
Schließlich können Sie mit dem guten alten Google immer eine Menge Informationen finden:
Update: Dies ist ein häufiges Problem in Bezug auf die Struktur Ihres Datensatzes, wenn Sie mehrere Messungen pro 'Lerneinheit' durchführen (in Ihrem Fall eine Person). Wenn Sie für jede Person eine Zeile haben, werden Ihre Daten als "breit" angegeben, aber dann haben Sie zum Beispiel zwangsläufig mehrere Spalten für Ihre Antwortvariable. Auf der anderen Seite können Sie nur eine Spalte für Ihre Antwortvariable haben (dies hat jedoch mehrere Zeilen pro Person zur Folge). In diesem Fall werden Ihre Daten als "lang" bezeichnet. Der Wechsel zwischen diesen beiden Formaten wird häufig als "Umformen" Ihrer Daten bezeichnet, insbesondere in der R-Welt.
reshape()
.reshape
es schwierig ist, mit ihnen zu arbeiten. Hadley Wickham hat ein Paket namens reshape2 beigesteuert , das den Prozess vereinfachen soll. Hadley persönliche Website für reshape2 ist hier die Schnell-R Übersicht ist hier , und es gibt eine gut aussehende Tutorial hier .quelle
Versuchen Sie Folgendes mit R:
quelle
In Scala wird dies als "Explosions" -Operation bezeichnet und kann auf einem DataFrame ausgeführt werden. Wenn es sich bei Ihren Daten um ein Rdd handelt, konvertieren Sie zuerst per
toDF
Befehl in DataFrame und verwenden dann die.explode
Methode.quelle