パッケージgather
内の引数を理解しようとしています。tidyr
ドキュメントを見たところ、構文は次のようになります。
gather(data, key, value, ..., na.rm = FALSE, convert = FALSE)
ヘルプ ファイルに 例があります。
stocks <- data.frame(
time = as.Date('2009-01-01') + 0:9,
X = rnorm(10, 0, 1),
Y = rnorm(10, 0, 2),
Z = rnorm(10, 0, 4)
)
gather(stocks, stock, price, -time)
私は最後の行に興味があります:
gather(stocks, stock, price, -time)
ここに、stocks
明らかに変更したいデータがあります。これで問題ありません。
stock
とはキーと値のペアの引数を読み取ることができますがprice
、このキーと値のペアを作成するための列の選択方法は、この関数によってどのように決定されるのでしょうか。元のデータフレームは次のようになります。
time X Y Z
2009-01-01 1.10177950 -1.1926213 -7.4149618
2009-01-02 0.75578151 -4.3705737 -0.3117843
2009-01-03 -0.23823356 -1.3497319 3.8742654
2009-01-04 0.98744470 -4.2381224 0.7397038
2009-01-05 0.74139013 -2.5303960 -5.5197743
X
、Y
またはの任意の組み合わせを使用する必要があるという兆候は見られませんZ
。この関数を使用しているときは、長い形式のデータフレームの列に付けたい名前を選択しているように感じ、それがgather
魔法のように機能することを祈っています。そういえば、私も を使っているときと同じように感じますmelt
。
gather
列のタイプを見ますか?ワイドからロングにどのようにマッピングされますか?
EDIT
以下の素晴らしい回答、以下の素晴らしい議論、および哲学とtidyr
パッケージの使用に関する詳細情報が必要な人は、間違いなくこの論文を読む必要がありますが、ビネットでは構文は説明されていません。