問題タブ [tidyr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 深いマトリックス/データフレームのパターン
数千万行の深いマトリックス/データフレーム (列: id、変数、値) でパターンの頻度を見つけようとしています。これは、以下に示すように、広いマトリックスで簡単に実行できます。最初にワイドフォーマットに変換せずに(深いマトリックスで)同じことを行う方法があるかどうか疑問に思っていました。ありがとう。
r - tidyr 拡散関数は、コンパクトなベクトルが期待されるときに疎行列を生成します
plyr から来た dplyr を学習しています。xtabs の出力から (グループごとに) 列を (相互作用ごとに) 生成したいと考えています。
短い要約:私は得ています
欲しかった時
xtabs データは次のようになります。
次のようdo(
に、データフレーム内のデータが必要になりました。
ここで、列がレベルの相互作用である単一行の出力が必要です。これが私が探しているものです:
しかし、代わりに私は得る
私は明らかにここで何かを誤解しています。ここでreshape2のコードに相当するものを探しています(一貫性のためにmagrittrパイプを使用しています):
(この単純化された例にはグループ化変数がないため、ここでは NA が使用されていることに注意してください)
更新-興味深いことに、単一のグループ化列を追加するとこれが修正されるようです-なぜ、私に言わずにグループ化列を(おそらくrow_nameから)合成するのですか?
これは部分的な解決策のようです。
r - dcast を使って拡散するには?
tidyr::spread
以下の観点から呼び出しを書きたいと思いますreshape2::dcast
何に渡せばいいのかわからず困っていますfun.aggregate
r - 1つの列を複数のRに分割し、真の場合は論理値を与える
データ フレーム内の 1 つの列を、元の列の値を新しい列名として保持する複数の列に分割しようとしています。次に、元のそれぞれの列に出現があった場合は、新しい列に 1 を指定し、一致しない場合は 0 を指定します。これは説明するのに最適な方法ではないことを認識しています。たとえば、次のようになります。
1 と 0 (または T と F) を使用して、次のようなワイド フォーマットに展開したいと考えています。
私は関数と関数tidyr
を調べましたが、論理値を与えることに夢中になっているようです。この問題に関するヘルプは大歓迎です。ありがとうございました。separate
reshape2
cast
r - tidyrでは、関数「gather」がデータフレームをワイドからロングにマップするために使用する基準は何ですか?
パッケージgather
内の引数を理解しようとしています。tidyr
ドキュメントを見たところ、構文は次のようになります。
gather(data, key, value, ..., na.rm = FALSE, convert = FALSE)
ヘルプ ファイルに 例があります。
私は最後の行に興味があります:
gather(stocks, stock, price, -time)
ここに、stocks
明らかに変更したいデータがあります。これで問題ありません。
stock
とはキーと値のペアの引数を読み取ることができますがprice
、このキーと値のペアを作成するための列の選択方法は、この関数によってどのように決定されるのでしょうか。元のデータフレームは次のようになります。
X
、Y
またはの任意の組み合わせを使用する必要があるという兆候は見られませんZ
。この関数を使用しているときは、長い形式のデータフレームの列に付けたい名前を選択しているように感じ、それがgather
魔法のように機能することを祈っています。そういえば、私も を使っているときと同じように感じますmelt
。
gather
列のタイプを見ますか?ワイドからロングにどのようにマッピングされますか?
EDIT
以下の素晴らしい回答、以下の素晴らしい議論、および哲学とtidyr
パッケージの使用に関する詳細情報が必要な人は、間違いなくこの論文を読む必要がありますが、ビネットでは構文は説明されていません。