問題タブ [purrr]
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 - map と purrr を使用して listcolumn 内で NA を割り当てます
listcolumn l の 2 未満のすべての値を NA に設定したいと思います。map を使用して purrr-world 内でこれを行うにはどうすればよいですか?
エラーをスローします。
アップデート:
追加の列が表示されますが、listcolumn の各要素に 2 つの数値と 1 つの NA が含まれているわけではありません
更新 II: Replace は私の友人であり、トリックを実行します。
r - grouped_df データ型の行ごとの合計
私は初心者で、R の高度な機能にあまり詳しくありません。なぜ が機能しないのか理解できreduce()
ませんgrouped_df
。データ型のクラスが次の場合のソリューションの 1 つとして投稿したTibble データ型の Rowwise summation での議論に基づいて作成しています。reduce()
サンプルデータは次のとおりです。
どこclass (df)
ですか"tbl_df" "tbl" "data.frame"
私は今df
クラスに変換しgrouped_df
ます:
ここでclass (df1)
、"grouped_df" "tbl_df" "tbl" "data.frame"
これは予想どおりです。
reduce()
で行単位の合計を行うdf1
と、エラーがスローされます。
しかし、df1
データフレームに変換するとうまくいきます。
上記head()
の出力は次のとおりです。
reduce()
関数がグループ化されたデータでは機能しないのに、グループ化されていないデータでは機能する理由を誰かが説明できますか? 多分、私はここで何かが欠けています。
r - 複数の列に基づいて分割し、R で Spread() を適用する
データを 3 つの列に基づいて 3 つの部分に分割しようとしており、さらに処理するためにデータを分散させたいと考えています。ただし、2 列を使用して分割すると、コードは機能します。3列では機能しません。これは、「複数の変数の反復測定をワイド形式に広げるにはどうすればよいですか?」の議論に基づいています。
ここに私のデータがあります:
動作するコードは次のとおりです。
これはうまく機能します。つまり、さらに処理するために使用できる長さ 4 のリストを取得します。
ただし、に基づいて 3 分割を適用すると、次のコードは機能しませんRev.Qty
。Zone
とFiscal.Year
。
次のエラーが表示されます。
unite().
デバッグすると、を呼び出すとすぐに壊れるまで、コードがうまく実行されることがわかりましたspread_()
。
予想される出力:コードを まで実行するとunite()
、長さ 12 のリストが得られることがわかります。これにより、期待される出力が明確になることを願っています。LAType.Rev.Qty
Value
何が起こっているのか誰か助けてくれませんか?私は初心者で、何が起こっているのかわかりません。
r - purrr で任意の階層を再帰的に処理する
ある特定の基準に基づいて、R のネストされたリストの階層で構成されるツリーを剪定したいとします。私はこれを「簡単に」十分に行うことができますlapply
:
R for Data Scienceで、Hadley Wickhamは、階層データを処理するための一連の関数を置き換えることができるいくつかのシナリオについて説明しています。ただし、これらの例は、単独でネストされたリスト、または深くネストされたリストの特定のノードのいずれかを扱っているようです。purrr
apply
purrr
上記のような再帰的なタスクを達成するために使用する方法はありますか?
r - purrr 関数を使用して、ネストされた 2 つのリストを並列に反復処理する
私はいくつかのpurrr
機能をいじっていて、(私の喜びに)purrr::at_depth(.x, .depth, .f, ...)
の略であることがわかりましたpurrr::map(x, . %>% map(fun))
。
質問: 2 つのネストされたリストを並行して反復処理したい場合、同様の関数または同じことを行う適切な "方法" はありますか?purrr
例として:
これは機能しますが、かなり汚いので、for ループを避けたいと思います。
r - 文字ベクトルのリストから要素を削除するにはどうすればよいですか?
次のようなリストがあります。
そのリスト要素の名前に従って各ベクトルから要素を削除したいので、次のようになります。
i_have_this
に到達するには、どのような操作を行うことができi_want_this
ますか?
を使用して同じ構造の論理ベクトルのリストを取得することまではできましたpurrr::map2(what_i_have, names(what_i_have), function(x, y) x == y)
が、サブセット化しようとすると私の脳は過負荷になりwhat_i_have
ます。
私は何が欠けていますか?手伝ってくれますか?
tidyverse (またはベース R) ソリューションのボーナス ポイント。
ご協力ありがとうございました。