問題タブ [tidyverse]
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 - 変数をランダムに選択し、行ごとに操作する
データ フレームの各行を調べて、変数の半分をランダムに選択し、その特定の行の変数を に設定しようとしていますNA
。
たとえば、以下のデータセットでは、mydf
最初の行で 3 つの変数(たとえばQB
、QE
QF
NA
QA
QD
QE
私の試みですが、何もしないようです:
r - 文字列ベクトル内のドイツ数字の解析
次のような文字列を持つ:
として解析したいと思います
私は試した:
私が思いついた唯一の方法:
r - dplyr::group_by() には複数の変数がありますが、交差はありません
group_by
複数の変数を使用する場合、dplyr
これらのグループの共通点を見つけるのに役立ちます。
例えば、
収量
私の質問は、複数の変数を提供する方法はありますか?変数ごとに手動でこれを行うと得られるような出力が必要です。
上記のコードは
理想的には、構文は次のようになります
このようなものが存在しtidyverse
ますか?
(ps、上の表の私のgroup
変数は、1 つの変数に 2 つの変数が含まれているという意味で整頓されていませんが、私の目的のために整頓されていることを約束します。OK? :))
r - ベクトル化された列の選択
x
選択が各行に固有の場合、1 つの列の値 (たとえば、以下) を使用して、可能な列の中から値を選択するにはどうすればよいですか?
variableは、指定された行に対してx
variable a
、b
、またはを選択する必要があるかどうかを決定します。c
簡単な例を次に示します。実際のセルは、列名と行番号を連結したものではありません。
必要な列の値は次のとおりです。
もちろん、次の例では 1 列ではなく、5 列が生成されます。
そして、以下はエラーを生成します:
Error in mutate_impl(.data, dots) : basic_string::_M_replace_aux
.
実際のシナリオで選択肢が 2 つまたは 3 つしかない場合は、おそらくネストされた if を使用しますが、より多くの条件に対応するために一般化されたマッピング アプローチが必要です。
理想的には、このアプローチは、ルックアップ テーブル、または次のような他のメタデータ オブジェクトによって指示される可能性があります。
この列切り替えの質問は以前にもあったと思いますが、該当するものは見つかりませんでした。
私はtidyverseソリューションを好みます (私のチームが最も快適に使用できるのは b/c です) が、私はどのツールにもオープンです。applyとkimisc::vswitchを組み合わせて使用する方法がわかりませんでした。
r - dplyr の mutate 関数がデータベースで機能するのはいつですか?
dplyr
のmutate()
関数を SQL のようなデータベースで使用しようとしています。なぜそれが時々うまくいくのか、他のときはうまくいかないのか理解できません。
これは、 https: //cran.rstudio.com/web/packages/dplyr/vignettes/databases.html からの標準的な例の 1 つの例です。
データベースへのデータのロード
成功した新しい数値変数の作成
などの新しい数値変数を作成しようとするとyear2
、すべてが機能します
しかし、を使用して新しい文字変数を作成できませんでしたpaste0()
base 関数を使用して新しい変数を作成しようとするとpaste0()
、エラーが発生します。
セッション情報はこちら:
データベースでどのような操作が機能mutate()
しますか?
paste0()
データをメモリに収集せずにデータベースなどの関数を使用するソリューションはありますか?
r - map() 呼び出しからの data.frames のリストの結合
data.frames のリストに参加する「きちんとした」方法はありますか (a lafull_join()
ですが、>2 data.frames の場合)? への呼び出しの結果として、data.frames のリストがありますmap()
。私はReduce()
以前にこのようなことをしていましたが、それらをパイプラインの一部としてマージしたいと思っています-それを行うためのエレガントな方法が見つかりませんでした. おもちゃの例:
r - tidyverse を使用して 2 つのベクトルをマージする
以下の3つの値があります。私がやりたいのは、 と同じ長さのベクトルを作成することですlookup
。NA
要素には の値が与えられreplace
、残りの要素には の対応する位置に値が与えられますdata
。例えば
望ましい出力は次のようになります。c("no_user_data", "no_user_data", "user_3", "user_4", "no_user_data", "user_6", "no_user_data")
tidyverse
ここでの重要な制約は、できるだけ活用したいということです。私の現在のソリューションは次のようになります。
tidyverse
いくつかの魔法の助けを借りて、もっと良く見えると信じています。ありがとう!