tidyr の gather 関数の使い方をいつも忘れるので自分用にメモします。
gather はデータセットを wide 型から long 型に変換します。
gather(iris, key=newKeyColumnName, value=newValueColumnName, Sepal.Length, Petal.Length, Sepal.Width, Petal.Width) %>% head()
とすると
Species newKeyColumnName newValueColumnName 1 setosa Sepal.Length 5.1 2 setosa Sepal.Length 4.9 3 setosa Sepal.Length 4.7 4 setosa Sepal.Length 4.6 5 setosa Sepal.Length 5.0 6 setosa Sepal.Length 5.4
入力データフレームの列を以下の 2 種類に分けます。
- gather の最後の可変長変数に入れられた列
- A 以外の列
そして以下のように新しいデータフレームを作ります。
B1, B2, ... , newKeyColumnName, newValueColumnName B1, B2, Aの列名, Aの列の値 B1, B2, Aの列名, Aの列の値 B1, B2, Aの列名, Aの列の値