問題タブ [group-summaries]
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 - Rの複数の異なる列によるデータフレームのグループ化と要約
正しい用語で検索していないかどうかはわかりませんが、これに関する投稿が見つかりません。
私は df を持っています:
grouping_letter
と でグループ化したいgrouping_animal
。を使用してこれを行いたいですdplyr
。
私が別々にやった場合、それは次のようになります:
ここで、個別にグループ化する必要がある何百もの列があるとします。これどうやってするの?
やってみた:
results <- NULL
for (i in grouping_columns) {
results[[i]] <- df %>% group_by(df$i) %>% summarize(sum(value))
}
結果と呼ばれるリストを出力とともに取得しました。forループを使用する代わりに、これを行うためのより良い方法があるかどうか疑問に思っていますか?
r - dplyr "other then" グループで要約する
グループ化された data_frame で要約する必要があります (警告: dplyr を使用したソリューションは非常に高く評価されますが、必須ではありません) 各グループの何か (シンプル) と「他の」グループの同じものの両方。
最小限の例
私の期待される結果は次のとおりです
「グループを除外して dplyr を要約する」、「グループ以外を要約する dplyr を要約する」などの Google 文字列を検索しましたが、dplyr のドキュメントを検索しましたが、解決策が見つかりませんでした。
ここで、これ ( dplyr を使用してグループに一致しない値を要約する方法) は適用されません。合計でのみ実行されるためです。 )。より複雑な関数リクエスト (つまり、平均、sd、またはユーザー関数) はどうですか? :-)
ありがとうございます
PS:summarize()
は例です。同じ質問が、mutate()
グループに基づいて機能する、または他の dplyr 関数につながります。
r - 名前で複数の列のグループによって計算された結果を使用して行を df に R rbind
「id」でグループ化し、いくつかの算術関数を最後の 4 つの列に (グループごとに) 適用し、結果を含む df に新しい行を追加するにはどうすればよいですか。以下に、5 つのサンプル (id) と 8 つの列を含む例を示します。
再現可能な例:
結果テーブルは次のようになります。行 3、6、9、および 13 は、結果を含む新しい行です。新しい行は、テーブルの最後に追加するか、tmp df に入れて後で rbind を使用して追加することができます (どちらの方法もわかりません)。グループ変数は列「id」です。関数 sum は「v1_gm」に使用されます。関数 "mean" は複数の連続する列 (ここでは "v1_pct" と "v3_pct") に使用され、名前で呼び出す必要があります (例: v1_pct:v3_pct)。新しい行の「type」の値は、グループ行の「type」から連結されます。「d1」と「d2」は、treat=="A" のグループ行から単純にコピーされ、新しい行の「treat」は単純にコピーされます。行には値「cmb」が割り当てられます。
r - dplyr の 2 つの関数を使用してデータを要約する
この例のデータフレームを検討してください:
「y」変数の2つの操作で集計表を取得しようとしています。
最初の新しい列には、すべての担当者の trt による単純平均値が含まれている必要があります。
2 つ目は、すべての担当者の trt による陽性値の割合です。
ワンステップでそれを行う方法がわからないので、私はこれを長くやっています:
両方の機能を結合して、単一のステップでそれを行う方法を誰かが知っていますか?
r - R - 変数からのグループ データ フレーム
データフレームを変数にグループ化するための列を設定し、それに基づいてデータフレームをグループ化して要約したい、つまり
var
何も変更せずに 2 行目を簡単に変更して使用できるようにします。残念ながら、group_by
変数ではなく列名を要求するため、私のソリューションは機能しません。
r - R: dplyr を使用した条件付きのネストされたグループ化された集計?
以前の投稿(詳細はこちら) で@Frank に感謝します。ここでは、バーでの人々の飲酒パターンに関するデータセットに関するいくつかの質問に答えることができました。
具体的には、@Frank は次のコードを提案しました。
これにより、常連客が各バーで同じ飲み物を注文したかどうか、その数、およびそれらが気に入ったかどうかについて、グループ化された要約が生成されます。
ただし、この投稿では、一部の人々の飲み物の注文がunspecified
(でQuark's Bar
) あり、一部の人々が注文したという追加の問題がありwater
ます。
について
unspecified
は、「一般的な」飲み物として機能させて、別の飲み物としてカウントされないようにしたい (そのバーで他の飲み物が注文された場合)。たとえば、全員が同じ飲み物を注文したというQuark's Bar
結果になりたいとします。もちろん、バーで全員が のみを注文した場合、結果も になります。TRUE
unspecified
TRUE
について
water
は、通常は無視したいので (たとえば、アルコール飲料ではないため!)、最初は dplyr を使用filter()
して、順序が であるデータの行を削除できると考えましたwater
。複雑なのは、人々が注文したものだけが のように であっTRUE
た場合に、結果を表示したいということです。したがって、 で行を単純に削除できるとは思わないので、考慮してもらいたいです! 言い換えれば、それがその中で注文された唯一のユニークなものでない限り、私は数えたくありません.water
Maz's Tavern
water
water
bar_name
またはのような「例外的な」アイテムを条件付きで(それは正しい用語ですか?)処理する方法はありますwater
かunspecified
?@Frankが上記のコードで行ったようなテーブルを生成するdplyr(つまり、Hadley-verse)ベースのソリューションを好みます。ありがとうございました!
r - 時間間隔の平均を計算してプロットする
dplyr と ggplot2 を使用して、時間の経過とともに変化する色の異なる動物の数を計算してプロットしたいと思います。
私はランダムな日付でさまざまな動物を観察しているので、最初にそれらの観察を 4 日間のブラケットにグループ化し、次に各 4 日間のブラケットの平均色を計算したいと思います。私が考えていることを示すために、最初のいくつかのギミック結果を含む列 Bracket.mean を作成しました。可能であれば、後で分析してプロットするために、これらの手段を同じデータ フレームに追加したいと思います (新しい data.frame またはベクトルを作成するのではなく)。
そして、プロットについては、時間の経過に伴う毎日の観測 (おそらくバックグラウンドでの観測の色あせたオーバーレイ) と同様に、その周りの分散の尺度 (SD または箱ひげ図) とともにブラケット平均を表示することを望んでいます。
以下は、私が使用しているデータセットの一部です (「Bracket.mean」列を作成して計算したいと考えています)。「カウント」は、特定の「色」の特定の「日付」における動物の数です。
どんな助けでも大歓迎です。よろしくお願いします!