私のデータは順序付けされた観測であり、操作を行っている間、順序付けを可能な限り維持したいと考えています。
この質問の答えを見て、データフレームで「A」の前に「B」を置きます。結果として得られるワイド データは、列「name」でソートされます。つまり、最初に「A」、次に「B」となります。
df = data.frame(name=c("B","B","A","A"),
group=c("g1","g2","g1","g2"),
V1=c(10,40,20,30),
V2=c(6,3,1,7))
gather(df, Var, Val, V1:V2) %>%
unite(VarG, Var, group) %>%
spread(VarG, Val)
name V1_g1 V1_g2 V2_g1 V2_g2
1 A 20 30 1 7
2 B 10 40 6 3
元の順序を維持する方法はありますか? このような:
name V1_g1 V1_g2 V2_g1 V2_g2
1 B 10 40 6 3
2 A 20 30 1 7
04/02 編集:dplyr::summarise
並べ替えも行われていることがわかりました。arrange(name, df$name)
注文を復元するために引き続き機能します。でも、パッケージのデザインから余計な選別が必要なのかな?
df %>%
group_by(name) %>%
summarise(n()) %>%
name n()
1 A 2
2 B 2