問題タブ [non-standard-evaluation]
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 - dplyr と purrr を使用して変数を繰り返し変更する
私は R を独学で学んでおり、これが StackOverflow に関する最初の質問です。これが明らかな問題である場合はお詫び申し上げます。親切にしてください。
私の質問の簡単なバージョン
変数の年々の変化率を計算するカスタム関数を作成しました。purrr
のmap_at
関数を使用して、カスタム関数を変数名のベクトルに適用したいと考えています。カスタム関数は、単一の変数に適用すると機能しますが、次を使用してチェーンすると失敗しますmap_a
私のカスタム関数
この関数を mtcars データセット内の単一の変数に適用すると、出力は期待どおりになります (ただし、結果の意味は明らかに無意味です)。
Purrr を使用して関数を文字ベクトルに適用する試み
map_at が引数を関数に渡す方法を概念化するのに問題があると思います。私がオンラインで見つけることができるすべてのサンプル スニペットはis.character
、追加の引数を必要としない のような関数で map_at を使用しています。を使用して関数を適用する私の試みは次のとおりpurrr
です。
これにより、このエラーメッセージが表示されます
paste("d", col, sep = "") のエラー: 引数 "col" がありません。デフォルトはありません
これは、 map_at が として渡さvars
れ、df
の引数が渡されていないためだと思いますcol
。この問題を回避するために、次のことを試しました。
それは私にこのエラーをスローします:
関数df
から引数を削除するなど、さまざまなバージョンを試してみましたが、うまくいきませんでした。calculate_delta
その他の潜在的な解決策
sapply
1)ではなくを使用したバージョンpurrr
。私はその方法で問題を解決しようとしましたが、同様の問題がありました。私の目標は、可能であれば、purrr を使用してこれを行う方法を見つけることです。の私の理解に基づくとpurrr
、これは典型的な使用例のようです。
2)forループを使用してこれを実装する方法を明らかに考えることができますが、同様の理由で可能であればそれを避けようとしています。
明らかに、私はこれについて間違って考えています。助けてください!
編集1
明確にするために、2つのことを達成する変数を繰り返し変換する方法があるかどうかに興味があります。
tbl_df
1) 変更された列を置換せずに、元の変数内に新しい変数を生成します ( を使用する場合dplyr
の ようにmutate_at
)。
2) 新しい変数ラベルを自動的に生成します。
3) 可能であれば、map_at
.
これは不可能かもしれませんが、私が説明していることを達成するためのエレガントな方法があるべきだと思います.
r - R 関数の引数名を取得する
任意の関数の場合
の引数名を取れるようにしたいf
これは可能ですか?
r - 関数の引数として RSelenium ドライバー環境を渡す R
私はおそらく何か明らかなことを見ていないでしょう.とにかく、リモートドライバーによって既に処理されているURLからテキストを自動的に抽出する関数を作成したいと思います. 関数の引数として、xpath 式と、リモート ドライバーが見つかる環境を渡したいと思います。
この関数の可能な呼び出しは次のfun.XpathExtractText("//*",env)
とおりですが、ビルド部分の呼び出しの直後にエラーメッセージが表示されます。
しかし、エラーメッセージから抽出された呼び出しをenvで直接実行すると、機能します。
環境として remdir 自体も環境として渡そうとしましたが、それはまったくカウントされません。ビルドの呼び出し後に関数が同じポイントでスタックします。私は何を知らないのですか?
r - parse(eval(...), 環境 = カスタム) のネストされた関数
カスタム R 環境があります
関数b()
は期待どおりに実行されます。
しかしa(1)
、エラーをスローします。
どうすれば仕事に行くことができeval(parse(text = "a(1)"), envir = e)
ますか?