


R の「reshape」関数を使用してデータをワイド形式からロング形式に変換する方法
R では、「reshape」関数を使用して、データをワイド形式 (列数が多い) からロング形式 (列数が少ない) に変換します。ワイド フォーマットは「マトリックス」または「データ フレーム」とも呼ばれ、ロング フォーマットは「データ フレーム」または「テーブル」とも呼ばれます。「reshape」関数は 2 つの引数を取ります。最初の引数は、変換するデータです。 2 つ目は、データをどのように再形成するかの仕様です。 2 番目の引数には文字列または数式を指定できます。文字列の場合は、再形成するデータを含む変数の名前を指定します。数式の場合は、変換を定義する数式を指定します。
R で `reshape` を使用する例をいくつか示します:
```
# サンプルデータを作成します
data <- data.frame(id = c(1, 2) , 3, 4, 5),
変数 = c("x", "y", "z"),
値 = c(10, 20, 30, 40, 50))
# データをワイドからワイドに再整形します。 long format
reshape_data <- reshape(data, idvar = "id", timevar = "variables", Direction = "long")
# 再形成されたデータを表示する
print(reshape_data)
```
この例では、2 つのサンプル データを作成します。変数 (`x`、`y`、および `z`) と 5 つの観測値 (`id` = 1 ~ 5)。次に、`reshape` を使用してデータをワイド形式からロング形式に変換し、`id` が id 変数であり、`variables` が時間変数であることを指定します。結果の再整形データは `reshape_data` に保存されます。最後に、`print` を使用して再形成されたデータを出力します。
`reshape` は、`direction = "long"` の代わりに `direction = "wide"` を指定することで、データをロング形式からワイド形式に変換するためにも使用できることに注意してください。



