問題タブ [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.
r - Rのdplyr mutate - 列の連結として列を追加
mutate{dplyr}
データフレームに新しい列を追加する目的で関数を使用すると問題が発生します。新しい列を文字型にし、他の列 (これも文字型) からソートされた単語の「連結」で構成する必要があります。たとえば、次のデータ フレームの場合:
次の最初の要素を持つ新しい列を取得したいと思います。
私はこれを試しました:
しかし、私はエラーを受け取りました:
事前に助けてくれてありがとう!
r - dplyr: 関数内で group_by を使用するには?
関数を別の関数内で使用したいのですがdplyr::group_by
、この関数に引数を渡す方法がわかりません。
誰かが実用的な例を提供できますか?
r - dplyr を使用してテーブルのすべての行に関数を適用しますか?
作業するとき、すべての行に適用する必要があるスカラー関数plyr
に使用すると便利であることがよくあります。adply
例えば
今はdplyr
もっと使っていますが、これを行うためのきちんとした/自然な方法があるかどうか疑問に思っていますか? これは私が望むものではないので:
r - all=TRUE でマージするための R dplyr メソッドはありますか?
マージしたい 2 つの R データフレームがあります。ストレート R では、次のことができます。
これは以下を生成します:
私は を使用してdplyr
おり、次のようなソリューションを好むでしょう:
私が望むものに近いものを生成します:
では、、およびdplyr
が表示されますが、これらのどれも何を行うものではありません。left_join
inner_join
semi_join
anti-join
merge
all=TRUE
また、NA を 0 に設定する簡単な方法はありますか? これまでの私の取り組みx$trees[is.na(x$trees)] <- 0;
は面倒で (列ごとにコマンドが必要です)、常に機能しているとは限りません。
ありがとう
r - dplyrに参加するときにxとyの列の名前を指定するにはどうすればよいですか?
dplyr を使用して結合したい 2 つのデータ フレームがあります。1 つは、名を含むデータ フレームです。
もう 1 つのデータ フレームには、カントロウィッツの名前コーパスのクリーンアップ バージョンが含まれており、性別が識別されます。最小限の例を次に示します。
test_data
私は基本的に、テーブルを使用してテーブルから名前の性別を調べたいと思っていkantrowitz
ます。これを関数 に抽象化するencode_gender
ので、使用されるデータセット内の列の名前がわからないため、 のように になることを保証できませname
んkantrowitz$name
。
ベース RI では、次の方法でマージを実行します。
それは正しい出力を返します:
しかし、他のすべてのデータ操作にそのパッケージを使用しているため、dplyr でこれを実行したいと考えています。さまざまな関数の dplyrby
オプションでは、*_join
1 つの列名しか指定できませんが、2 つ指定する必要があります。私はこのようなものを探しています:
dplyr を使用してこの種の結合を実行する方法は何ですか?
(Kantrowitzコーパスが性別を識別するのに悪い方法であることは気にしないでください。私はより良い実装に取り組んでいますが、最初にこれを機能させたいと思っています。)
r - dplyr の複数列インデックス/キーによるサブセット化 (data.table soln を使用)
このチャンクが dplyr で行われる前/後の分析の多くのように、data.table に「頼る」のではなく、次の状況をサブセット化する (またはタスクの処理方法を再考する) 方法を探しています。
状況: 複数のレプリケーションを持つシミュレートされたデータセットが与えられた場合、2 つの列キー (ID と REP) に基づいてサブセット化/dplyr::filter したいと考えています。
data.table ソリューションの結果は次のとおりです。
初期データ構造:
生成されたキーと結果のサブセット:
この複数列のインデックスを使用して dplyr でフィルター処理する方法はありますか?
これまでに考えた唯一の「解決策」は、次のような新しい列を作成することです。
動作します:
しかし、洗練されておらず、簡単に拡張できるソリューションを提供しません。
r - グループごとに行全体に集計値を「ストレッチ」する
R を使用している間、変数をグループごとに要約する data.frame で操作を実行し、それらの要約値を data.frame に追加したいことがよくあります。これは、例によって最も簡単に示されます。
これは以下を生成します:
このトリック-基本的に名前付きの値のベクトルを取得し、それらをグループごとに関連する行に「広げる」または「伸ばす」-通常は機能しますclass(myDF$Total)
が、."array"
by()
c()
不思議なんだけど:
- この操作に一般的に使用される名前はありますか?
- これを行う別の、ハッキー感の少ない、および/またはより高速な方法はありますか?
- これを行う方法はあり
dplyr
ますか?私が気付いていないハドリー承認の動詞操作 (mutate、arrange など) があるかもしれません。簡単にできることはわかっていますがsummarise()
、これらの要約を data.frame に戻す必要があることがよくあります。
r - ddply分割の現在の値を関数に渡す
これは、時間をかけて名前の性別をエンコードしたいサンプルデータです。
以下は、1890 年と 1990 年の名前だけに限定された社会保障データの最小限のセットです。
特定の年または年の範囲で社会保障データをサブセット化する関数を定義しました。つまり、その名前を持つ男性と女性の出生率を計算することにより、特定の期間にその名前が男性か女性かを計算します。ヘルパー関数と一緒の関数は次のとおりです。
ここで私がやりたいことは、特に plyr を使用してddply
、年ごとにエンコードされるデータをサブセット化し、それらの各部分を関数によって返された値とマージするselect_ssa
ことです。これは私が持っているコードです。
を呼び出すとき、関数の引数として のselect_ssa(year)
ような値をハードコーディングすると、このコマンドは正常に機能します。しかし、それが機能して1890
いる現在の値を渡そうとすると、エラーメッセージが表示されます。year
ddply
year
onの現在の値を に渡すにはどうすればよいddply
ですか?