R関連‎ > ‎

reshape

同名のパッケージがあるみたいだけど、こっちは元々ある関数のホウ。

データフレームの形を変える。
wide型とlong型に変えられる。

言葉だけではうまく説明できないけど、図を描くのが面倒なので、言葉で説明。

wide型

reshape(dataframe, direction="wide", idvar="ほげ", timevar="はげ")
最初の思ったイメージは、エクセルのピボット。ただ、ピボットと違って集計しない。データの形を変えるだけ。
集計は、後からいくらでもできる。

ただ、エクセルのピボットの操作イメージでいくと
reshape(dataframe, direction="wide",,,で、 
  • 左の第一列に突っ込みたいものを idvarに指定。
  • 上の第一行に突っ込みたいものうぃ、timevarに指定する。
  • んでもって、データのところには、、、集計しないから、よくない例えだけど、残すものを指定する。つまり、いらないものをdrop=c("aaa","bbb",,,)という形で落とす。落とさないと、列数が爆発するかも、、、

long型

reshape(dataframe, direction="long",,,,)

vayring="ここにwide型で作られたデータ項目名を入れる", index指定も可能。varying=list(2:9)といった感じ。list型で指定する。 縦長のレコードタイプのデータにしてくれる。 varyingで指定されて項目のデータ + データフレームでのその項目のインデックスという並びで帰ってくる。
wide型のときは、項目名に元のデータフレームの値が採用されていたわけで、、、それでカテゴライズ・分類されてたわけで、そのindex番号が分かれば、元のデータ値はわかるのだろうけど、indexが帰ってきても不便な気が、、、

この方が便利なのだろうか? それともなんらかの操作が予定されているのだろうか?
マニュアル(ヘルプ)を見るだけでは、不明。



Comments