Note unterscheidet sich diese von der Frage „How to reshape data from long to wide format?“ auf 2 Arten:tibble Gestaltung eines Faktors verteilen sich auf mehrere Variablen Reihen ausklammern zu
- Es gibt eine Vielzahl von Zielspalten von der einzelnen qualifiziert werden Faktor Spalte.
- Der Titel dieser Frage angegeben "tibble", was bedeutet
tidyverse
Lösungen sind bevorzugt.
Executing:
set.seed(14)
df <- data.frame(geo = LETTERS[1:2], time = c(2000,2000,2001,2001),
X = rnorm(4, 0, 1),
Y = rnorm(4, 0, 2))
head(df)
produziert so etwas wie:
geo time X Y
1 A 2000 -0.6618498 -0.07228116
2 B 2000 1.7189542 2.46389035
3 A 2001 2.1216670 -0.12976154
4 B 2001 1.4971537 2.13798746
Was ich will ist für geo
mit Werten zu spread
time
und am Ende mit zwei Reihen tun umformen: A
und B
.
Dies würde produzieren so etwas wie:
geo X.2000 Y.2000 X.2001 Y.2001
A -0.6618498 -0.07228116 2.1216670 -0.12976154
B 1.7189542 2.46389035 1.4971537 2.13798746
In der Basis R, 'Umformen (df, Richtung =" wide ", idvar =" geo ", timevar =" Zeit ")'. Mit dem 'tidyverse' müssen Sie sich" versammeln "," vereinigen "und dann" verbreiten ". 'dcast' von" data.table "auf einer' data.table' kann dies auch tun, ohne zuerst die Daten zu "schmelzen". – A5C1D2H2I1M1N2O1R2T1
Mögliches Duplikat von [Wie umformatieren Sie Daten vom Long- in das Wide-Format?] (Https://stackoverflow.com/questions/5890584/how-to-reshape-data-from-long-to-wide-format) –
Nicht wert eine Antwort, aber der Vollständigkeit halber, 'data.table :: dcast (as.data.table (df), geo ~ time, value.var = c (" X "," Y "))'. – A5C1D2H2I1M1N2O1R2T1