1

次のワイド/乱雑なデータフレームがあるとします。

df1 <- data.frame(ID = c(1, 2), Gender = c("M","F"),
       Q1 = c(1, 5), Q2 = c(2, 6),
       Q3 = c(3, 7), Q4 = c(4, 8))

 ID Gender Q1 Q2 Q3 Q4
 1      M  1  2  3  4
 2      F  5  6  7  8

どうすればこのデータフレームに変換できますか:

df2 <- data.frame(ID = c(1, 1, 2, 2), Gender = c("M", "M", "F", "F"),
       V1 = c(1, 3, 5, 7), V2 = c(2, 4, 6, 8))

 ID Gender V1 V2
 1      M  1  2
 1      M  3  4
 2      F  5  6
 2      F  7  8

これを実現できる複数のパッケージと関数 (tidyr、reshape2、reshape 関数など) があることは知っています。それを行う最も簡単な方法と方法はどれですか? 誰かが提供できる助けに本当に感謝します。ありがとう!

4

1 に答える 1