問題タブ [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.

0 投票する
8 に答える
20647 参照

r - 複数セットの測定列 (ワイド形式) を 1 つの列 (ロング形式) に再形成する

さまざまな日付範囲内で繰り返し測定されたワイド フォーマットのデータフレームがあります。私の例では、3 つの異なる期間があり、すべて対応する値があります。たとえば、最初の測定 ( ) は からまでValue1の期間に測定されました。DateRange1StartDateRange1End

DateRangeXStart 列と DateRangeXEnd 列がグループ化されるように、データを長い形式に再形成しようとしています。したがって、元のテーブルの 1 行は、新しいテーブルでは 3 行になります。

reshape2/ melt/ recast/でこれを行う方法があるに違いないことはわかっていtidyrますが、この特定の方法で、メジャー変数の複数のセットを値列の単一のセットにマップする方法を理解できないようです。

0 投票する
3 に答える
28718 参照

r - R データフレームの再配置: いくつかの行を列に

質問に適切なタイトルを付ける方法さえわかりません!

データフレーム d があるとします:

現在のデータフレーム:

そして、各猫の値が独自の列になり、サンプルが列のまま(または行名になる)、カウントが新しい猫列の値になるように再配置しようとしています。 sample には猫のカウントがありません。そのようです:

望ましいデータフレーム レイアウト:

これについて最善の方法は何ですか?

これは私が得た限りです:

つまり、元のデータ フレームのサンプルをループし、サンプル サブセットごとに転置します。したがって、この場合、私は得る

そして、これは私が立ち往生するところです。mergebind、 、...でたくさんのことを試しましたがapply、正しいことを思いつかないようです。さらに、上記のループが必要なステップであるかどうか疑問に思わずにはいられunstackません。

言うまでもなく、私は R を初めて使用します...誰かが私を助けてくれれば、それは大歓迎です!

PS理由データフレームを再配置しようとしているのは、値のプロットを簡単にするためです(つまり、実際のdfを表形式のプロットで表示したい)。

ありがとうございました!

0 投票する
4 に答える
46531 参照

r - dplyr summarise: ".drop=FALSE" に相当し、長さがゼロのグループを出力に保持します

の関数で使用summariseする場合、空のカテゴリはデフォルトで削除されます。を追加することで、この動作を変更できます。ただし、 withを使用する場合、これは機能しません。結果に空のカテゴリを保持する別の方法はありますか?plyrddply.drop = FALSEsummarisedplyr

偽のデータの例を次に示します。

まさに私が望んでいたものではありません。dplyrと同じ結果を達成する方法.drop=FALSEはありplyrますか?

0 投票する
3 に答える
3391 参照

r - 列名のパターンでデータフレームを溶かす

いくつかのデータフレームがあり、それぞれに 250 を超える変数があります。最初のデータフレームからの部分dput:

次の方法で、データフレームをワイドからロングに再形成します。

ただし、どの列名が で始まるか正確にはわかりませんFD。さらに、この数はいくつかのデータフレームによって異なり、他の文字の組み合わせで始まる変数についてもそうする必要があります。

もちろん、これを手動で行うこともできますが、時間がかかり、エラーが発生しやすくなります。したがって、プログラムによるソリューションが非常に望ましいです。

これにアプローチする方法はありますか?


@akrun のdplyrソリューションで問題が発生した場所を確認できるようにするためdputに、最初の 6 行とすべての列の a:

0 投票する
3 に答える
33716 参照

r - dcast と同様に、tidyr の複数の列でスプレッドを使用することは可能ですか?

次のダミーデータがあります。

製品と国の組み合わせを 2 つ選びます

組み合わせごとに値を並べて表示したいと思います。私はこれを行うことができますdcast

spreadパッケージtidyrからこれを行うことは可能ですか?

0 投票する
2 に答える
518 参照

r - 不規則なデータをきちんとしたデータフレームに変換するよりエレガントな方法はありますか

不規則なデータの列を含むデータフレームがあります: 各トピックが文字列である「トピック」で、隣接するトピックは区切り文字 (この場合は「|」) で区切られています。

データフレームは次のeventsようになります。

このデータフレームを変換して、各行に 1 つのトピックと、そのトピックに費やした日数の指標が含まれるようにします。N トピックが D 日間にわたって提示された場合、各トピックに D/N 日が費やされたと仮定します。

私は急いでこれをしなければならなかったので、次のようにしました:

それは私たちに与えます

これをよりエレガントに実現する方法を知りたいです。