Ich habe einen Datenrahmen, wie diese aufgebaut ist:lang breit mit dplyr
dd <- data.frame(round = c("round1", "round2", "round1", "round2"),
var1 = c(22, 11, 22, 11),
var2 = c(33, 44, 33, 44),
nam = c("foo", "foo", "bar", "bar"),
val = runif(4))
round var1 var2 nam val
1 round1 22 33 foo 0.32995729
2 round2 11 44 foo 0.89215038
3 round1 22 33 bar 0.09213526
4 round2 11 44 bar 0.82644723
Daraus würde Ich mag einen Datenrahmen mit zwei Linien zu erhalten, einem für jeden Wert von nam
und Variablen var1_round1
, var1_round2
, var2_round1
, var2_round2
, val_round1
, val_round2
. Ich würde wirklich gerne eine dplyr Lösung zu diesem finden.
nam var1_round1 var1_round2 var2_round1 var2_round2 val_round1 val_round2
1 foo 22 11 33 44 0.32995729 0.8921504
2 bar 22 11 33 44 0.09213526 0.8264472
Das nächste, was ich denken kann, wäre spread()
in irgendeiner Art und Weise kreativ zu verwenden, aber ich kann nicht scheinen, um es herauszufinden.