Ich habe eine Reihe von Daten, die aus Matlab kommt, und ich möchte es in R verwenden. Ich habe eine Reihe von Themen, und eine Reihe von Bedingungen innerhalb jedes Subjekts. In jeder Bedingung erzeugte jedes Subjekt einige Daten. Ich schrieb dies in einen „hoch“ Tisch, etwa so:Mit tidyr oder ähnlich, um einen hohen Datensatz breit zu machen, während mehrere Werte in einen Vektor zusammenfallen
subject condition data
#1 id1 cond1 0.12
#2 id1 cond1 0.43
#3 id1 cond2 1.26
#4 id2 cond1 1.96
#5 id2 cond2 0.24
#6 id2 cond2 0.62
...
Wie Sie sehen können, ist ein Problem, dass es für jedes Thema nicht die gleiche Anzahl von Werten in jedem Zustand ist, und es ist nicht die gleiche Anzahl der Werte in jeder Bedingung innerhalb von Fächern, entweder. Ich habe Interesse an den Verteilungen dieser Variablen zwischen den Themen, so dass ich hoffte, auf rohe Werte in einer Liste in einem „breit“ Datenrahmen beibehalten, wie folgt aus:
subject condition data
#1 id1 cond1 c(0.12, 0.43)
#2 id1 cond2 c(1.26)
#3 id2 cond1 c(1.96)
#4 id2 cond2 c(0.24, 0.62)
...
Was ist der beste Weg, dies zu tun ? Ich habe in der Vergangenheit tidyr :: spread() verwendet, was hier ohne eine eindeutige identifizierende Variable pro Zeile nicht funktioniert, aber selbst wenn ich hinzugefügt habe, sehe ich nicht, wie es funktionieren würde.
Ich habe auch versucht, mit dplyr :: group_by (Daten, Thema, Bedingung), aber ich bin mir nicht sicher, wie von dort aus zu gehen. Wäre es möglich, die gruppierte Tabelle zusammenzufassen, indem Sie c() als Zusammenfassungsfunktion verwenden? Das hat bei mir nicht funktioniert.
Wie immer, danke für jede Hilfe!
Wenn Sie die gleiche Anzahl von Spalten haben, werden Ihre Daten nicht ihre Form verändern von groß zu breit - die Breite (Anzahl der Spalten) ist konstant! Sie aggregieren nur - indem Sie vorhandene Zeilen in einer einzelnen Zeile zusammenfassen. – Gregor
Ich bin mir nicht sicher, wie die Repräsentation * nützlich sein könnte. Das gängige Idiom wäre "dplyr :: group_by" und dann "dplyr :: summarize()", um zu tun, was immer Sie tun möchten, um "die Verteilungen dieser Variablen zwischen Subjekten" zu betrachten. Bitte teilen Sie uns Ihr Endziel mit, und nicht nur einen Zwischenschritt, den Sie für notwendig halten (was aber möglicherweise ein einfaches Problem überkompensiert). – Gregor
Wir wollen [XY-Probleme] vermeiden (http: //meta.stackexchange. com/a/66378/173584). – Gregor