Colorful Wires

エンジニアリングの勉強の記録

gather in R

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 種類に分けます。

  1. gather の最後の可変長変数に入れられた列
  2. A 以外の列

そして以下のように新しいデータフレームを作ります。

B1, B2, ... , newKeyColumnName, newValueColumnName
B1, B2,      Aの列名,                       Aの列の値
B1, B2,      Aの列名,                       Aの列の値
B1, B2,      Aの列名,                       Aの列の値