問題タブ [dplyr]

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 に答える
68924 参照

r - Rのdplyr mutate - 列の連結として列を追加

mutate{dplyr}データフレームに新しい列を追加する目的で関数を使用すると問題が発生します。新しい列を文字型にし、他の列 (これも文字型) からソートされた単語の「連結」で構成する必要があります。たとえば、次のデータ フレームの場合:

次の最初の要素を持つ新しい列を取得したいと思います。

私はこれを試しました:

しかし、私はエラーを受け取りました:

事前に助けてくれてありがとう!

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

r - dplyr: 関数内で group_by を使用するには?

関数を別の関数内で使用したいのですがdplyr::group_by、この関数に引数を渡す方法がわかりません。

誰かが実用的な例を提供できますか?

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

r - dplyr を使用してテーブルのすべての行に関数を適用しますか?

作業するとき、すべての行に適用する必要があるスカラー関数plyrに使用すると便利であることがよくあります。adply

例えば

今はdplyrもっと使っていますが、これを行うためのきちんとした/自然な方法があるかどうか疑問に思っていますか? これは私が望むものではないので:

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

r - all=TRUE でマージするための R dplyr メソッドはありますか?

マージしたい 2 つの R データフレームがあります。ストレート R では、次のことができます。

これは以下を生成します:

私は を使用してdplyrおり、次のようなソリューションを好むでしょう:

私が望むものに近いものを生成します:

では、、およびdplyrが表示されますが、これらのどれも何を行うものではありません。left_joininner_joinsemi_joinanti-joinmergeall=TRUE

また、NA を 0 に設定する簡単な方法はありますか? これまでの私の取り組みx$trees[is.na(x$trees)] <- 0;は面倒で (列ごとにコマンドが必要です)、常に機能しているとは限りません。

ありがとう

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

r - dplyrに参加するときにxとyの列の名前を指定するにはどうすればよいですか?

dplyr を使用して結合したい 2 つのデータ フレームがあります。1 つは、名を含むデータ フレームです。

もう 1 つのデータ フレームには、カントロウィッツの名前コーパスのクリーンアップ バージョンが含まれており、性別が識別されます。最小限の例を次に示します。

test_data私は基本的に、テーブルを使用してテーブルから名前の性別を調べたいと思っていkantrowitzます。これを関数 に抽象化するencode_genderので、使用されるデータセット内の列の名前がわからないため、 のように になることを保証できませnamekantrowitz$name

ベース RI では、次の方法でマージを実行します。

それは正しい出力を返します:

しかし、他のすべてのデータ操作にそのパッケージを使用しているため、dplyr でこれを実行したいと考えています。さまざまな関数の dplyrbyオプションでは、*_join1 つの列名しか指定できませんが、2 つ指定する必要があります。私はこのようなものを探しています:

dplyr を使用してこの種の結合を実行する方法は何ですか?

(Kantrowitzコーパスが性別を識別するのに悪い方法であることは気にしないでください。私はより良い実装に取り​​組んでいますが、最初にこれを機能させたいと思っています。)

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

r - dplyr の複数列インデックス/キーによるサブセット化 (data.table soln を使用)

このチャンクが dplyr で行われる前/後の分析の多くのように、data.table に「頼る」のではなく、次の状況をサブセット化する (またはタスクの処理方法を再考する) 方法を探しています。

状況: 複数のレプリケーションを持つシミュレートされたデータセットが与えられた場合、2 つの列キー (ID と REP) に基づいてサブセット化/dplyr::filter したいと考えています。

data.table ソリューションの結果は次のとおりです。

初期データ構造:

生成されたキーと結果のサブセット:

この複数列のインデックスを使用して dplyr でフィルター処理する方法はありますか?

これまでに考えた唯一の「解決策」は、次のような新しい列を作成することです。

動作します:

しかし、洗練されておらず、簡単に拡張できるソリューションを提供しません。

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

r - グループごとに行全体に集計値を「ストレッチ」する

R を使用している間、変数をグループごとに要約する data.frame で操作を実行し、それらの要約値を data.frame に追加したいことがよくあります。これは、例によって最も簡単に示されます。

これは以下を生成します:

このトリック-基本的に名前付きの値のベクトルを取得し、それらをグループごとに関連する行に「広げる」または「伸ばす」-通常は機能しますclass(myDF$Total)が、."array"by()c()

不思議なんだけど:

  1. この操作に一般的に使用される名前はありますか?
  2. これを行う別の、ハッキー感の少ない、および/またはより高速な方法はありますか?
  3. これを行う方法はありdplyrますか?私が気付いていないハドリー承認の動詞操作 (mutate、arrange など) があるかもしれません。簡単にできることはわかっていますがsummarise()、これらの要約を data.frame に戻す必要があることがよくあります。
0 投票する
1 に答える
370 参照

r - ddply分割の現在の値を関数に渡す

これは、時間をかけて名前の性別をエンコードしたいサンプルデータです。

以下は、1890 年と 1990 年の名前だけに限定された社会保障データの最小限のセットです。

特定の年または年の範囲で社会保障データをサブセット化する関数を定義しました。つまり、その名前を持つ男性と女性の出生率を計算することにより、特定の期間にその名前が男性か女性かを計算します。ヘルパー関数と一緒の関数は次のとおりです。

ここで私がやりたいことは、特に plyr を使用してddply、年ごとにエンコードされるデータをサブセット化し、それらの各部分を関数によって返された値とマージするselect_ssaことです。これは私が持っているコードです。

を呼び出すとき、関数の引数として のselect_ssa(year)ような値をハードコーディングすると、このコマンドは正常に機能します。しかし、それが機能して1890いる現在の値を渡そうとすると、エラーメッセージが表示されます。yearddply

yearonの現在の値を に渡すにはどうすればよいddplyですか?