問題タブ [plyr]

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 投票する
2 に答える
3630 参照

r - Rのplyrパッケージで出力列の名前を変更する

Hadley は私にplyrパッケージを教えてくれました。私はいつもそれを使って「グループ化」のようなことをしていることに気づきました。しかし、デフォルトでV1、V2などになるため、結果の列の名前を常に変更する必要があることに気付きました.

次に例を示します。

最後の行を省略できるように、ddply name を結果の列にする方法はありますか?

0 投票する
6 に答える
13850 参照

r - グループごとに、データフレーム内のすべての変数の平均を要約します (ddply? split?)

1 週間前、私はこれを手動で行っていたでしょう: グループごとにデータフレームを新しいデータフレームにサブセット化します。各データフレームについて、各変数の平均を計算してから、rbind を実行します。非常に不格好...

splitとについて学んだ今plyr、これらのツールを使用するより簡単な方法があるに違いないと思います。私が間違っていることを証明しないでください。

私は両方をいじっていますddplyが、私が望むものを作り出すことができません - つまり、各グループに対してこのようなテーブル

たぶんd_ply、いくつかのodfweave出力はうまくいくでしょう。入力は非常に高く評価されています。

ps data.frame が rnorm を data.frame の要素に変換することに気付きましたか? これを回避するにはどうすればよいですか - I(rnorm(100) は機能しないため、上記のように数値に変換する必要があります

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

r - 絶対数から二水準データの比率へ (R! SAC? plyr?)

レベルにネストされたデータがあります:

今、私は単純なものが欲しいと思っています - そして、私は先月これを行うことができたと感じています. しかし、頭の中に何かが欠けています。L1 の各変数の合計が 100 になるパーセンテージ (NA を無視) が必要です。

必要な合計を取得できます

しかし、私が望むものを提供する関数を作成することは可能だと思いますか? キャストとプライヤーで色々なアプローチを試みましたが、クリスマスはすでに多くのビールを虚弱な脳にもたらしたようです.

反対票を控えるように、どんな助けも大歓迎です。

ありがとう

これは私のデータです:

0 投票する
1 に答える
531 参照

r - plyrを使用したdfの複数の変換

私はdfを持っていて、plyrで複数の変換を行いたいです:

...

1つの関数で実行できますか? どうもありがとう。

0 投票する
1 に答える
1123 参照

r - ddply()でマージン計算を行うことはできますか?

このcast()関数は、集計値のマージンを計算するのに最適です。

cast(df, IDx1+IDx2~IDy1, margins=c('IDx1','IDx2','grand_row'),c(min, mean, max))

問題は、2番目のベクトルとカスタム関数を使用して平均に重みを付ける必要があることです。

もちろん、ddply()グループ化されたレコードにカスタム集計関数を適用できます。

...そしてこれは素晴らしいです。

しかし、実際に1日を節約できるのは、で2ベクトル関数を呼び出すか、で変数をcast()偽造することによって、両方のことを同時に実行できることです。margins=()ddply().

これは可能ですか?

0 投票する
1 に答える
11434 参照

r - Rのデータフレームのすべての行でplyr操作を行う

私はplyr構文が好きです。*apply() コマンドの 1 つを使用する必要があるときはいつでも、犬を蹴って 3 日間曲げることになります。私の犬と私の肝臓のために、データ フレームのすべての行に対して ddply 操作を行うための簡潔な構文は何ですか?

単純なケースでうまく機能する例を次に示します。

それはうまく機能し、私が望むものを与えてくれます。しかし、物事がより複雑になると、plyr はそれらすべての浮動小数点値から「レベル」を作成することを噛んでいるため、plyr はファンキーになります (Bootsy Collins とは異なります)。

私の箱では、これは数分間噛んでから戻ります:

私は plyr を完全に悪用していると思います。これが plyr のバグだと言っているのではなく、私による虐待的な行動です (肝臓と犬にもかかわらず)。

要するに、ddply を使用してすべての行を操作するための構文のショートカットはありますapply(X, 1, ...)か?

私が使用してきた回避策は、すべての行に一意の値を与える「キー」を作成し、それに結合できるようにすることです。

でも、「もっといい方法があるはずだ」とずっと思っています。

ありがとう!

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

r - plyrを使用して行に番号を付けるにはどうすればよいですか?

基本的に、コホートに基づいて自動インクリメントされたid列が必要です-この場合は。(kmer、cvCut)

kmer/cvCutグループに基づいた新しい行名を持つ列を追加したい

0 投票する
5 に答える
5988 参照

r - ggplot2から複数の変数を使用して積み上げ棒グラフをより適切に作成するにはどうすればよいですか?

変数を比較するためにスタックバープロットを作成する必要があることがよくあります。すべての統計をRで行うため、すべてのグラフィックをRでggplot2を使用して行うことを好みます。私は2つのことをする方法を学びたいです:

まず、カウントごとの目盛りではなく、変数ごとに適切なパーセンテージの目盛りを追加できるようにしたいと思います。カウントが混乱するので、軸ラベルを完全に削除します。

次に、これを実現するためにデータを再編成するためのより簡単な方法が必要です。plyRを使用してggplot2でネイティブに実行できるはずのようなもののようですが、plyRのドキュメントはあまり明確ではありません(ggplot2の本とオンラインのplyRのドキュメントの両方を読んだことがあります。

私の最高のグラフは次のようになります。それを作成するためのコードは次のとおりです。

グラフの例

私がそれを取得するために使用するRコードは次のとおりです。

ヒント、コツ、ヒントをいただければ幸いです。

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

r - data.frame コマンドでリストから列名を指定する

cols列名を含むリストがあります:

cols <- c('Column1','Column2','Column3')

このコマンドを再現したいのですが、リストを呼び出します。

data.frame(Column1=rnorm(10))

試してみると、次のようになります。

> data.frame(cols[1]=rnorm(10))

Error: unexpected '=' in "data.frame(I(cols[1])="

orでラップcols[1]しても同じことが起こります。I()eval()

data.frame()そのアイテムをベクトルからコマンドにフィードするにはどうすればよいですか?

アップデート:

背景としてcalc.means()、データ フレームと変数のリストを受け取り、大規模で複雑な ddply 操作を実行し、変数によって指定されたレベルで要約する関数を定義しました。

このコマンドで私がやろうとしているのdata.frame()は、集計レベルを一番上まで戻しcalc.means()、各ステップで再実行しrbind()、結果を互いに接着するために使用することです。rbind を適切に機能させるには、「すべて」の値を持つダミー列を追加する必要があります。

cast基本的に、マージンのような機能を ddply に入れていますが、実行ごとに列名を再入力したくありません。完全なコードは次のとおりです。

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

r - Rで乱雑なカテゴリデータを構造化して再コード化するにはどうすればよいですか?

乱雑で、クリーンアップする必要があるデータセットに由来するカテゴリ データを最適に構造化する方法に苦労しています。

コーディングスキーム

大学の科学コースの試験のデータを分析しています。私たちは生徒の回答のパターンを調べており、生徒が回答で行っていることの種類を表すコーディング スキームを開発しました。コーディング方式のサブセットを以下に示します。

各メジャー コード (1、2、3) 内には、ネストされた一意でないサブコード (a、b、...) があることに注意してください。

生データがどのように見えるか

ここで表示できる実際のデータの匿名化された生のサブセットを作成しました。私の問題の一部は、データをコーディングした人が、一部の学生が複数のパターンを表示したことに気付いたことです。コーダーの解決策は、複数のパターンを持つ学生を保持するのに十分な数の列 ( reason1reason2、...) を作成することでした。reason1順序 ( , ) は任意であるため、これは重要です。「依存関係」を正しく適用したreason22 人の学生 (私の データセットの学生 41 と学生 42 など) は、列または列3aに表示されるかどうかに関係なく、両方とも分析に登録する必要があります。reasonreason2

学生データを最適に構造化するにはどうすればよいですか?

私の問題の一部は、生データでは、すべての学生が同じパターンまたは同じ数のパターンを同じ順序で表示するわけではないということです。1 つのことだけを行う生徒もいれば、複数のことを行う生徒もいます。したがって、生徒の例を抽象化して表現すると、次のようになります。

上記の例ではstudent002student003どちらも「1b」とコード化されていることに注意してください。ただし、実際のデータを反映するために意図的に順序を異なるものとして示しています。

私の(実用的な)質問

  1. reason1、を 1 つの列reason2に連結する必要が...ありますか?
  2. reason一部の学生の多重度を反映するために、R で sを (再) コードするにはどうすればよいですか?

ありがとう

この質問は、R の特定の機能に関するものであると同時に、優れたデータの概念化に関するものであることは理解していますが、ここで質問するのが適切だと思いました。私が質問するのが不適切だと思われる場合は、コメントでお知らせください。stackoverflow は自動的に私の受信トレイに悲しげな顔文字をあふれさせます。十分に具体的でない場合はお知らせください。より明確になるよう最善を尽くします。