私はdplyrでプログラミングしていますので、私は標準評価を使用しています。私は引数としてデータフレームと列名を持つ汎用関数を作成します。関数内で、私がデータフレームの列に自分自身を書き込んだ別の関数を適用したいと思います。ここでは、最小限の例です:今、一般的な機能を実行するときにdplyrでudfを使用した標準評価を使用
some_udf <- function(x) mean(x + 3)
generic_function <- function(dat, input_var){
dat %>% dplyr::summarise_(mean_3 = sprintf("some_udf(%s)", input_var))
}
私は、次のエラーが発生します:
generic_function(mtcars, 'cyl')
Error: could not find function "some_udf"
some_udf
がベースR機能に置き換えられた場合、mean
またはsd
のように、すべての正常に動作します。
誰かが私にこのケースでudfがうまくいかない理由と解決方法を説明できますか?
をそれを指摘するためのks。私はこの投稿を削除します。 – Edwin
@エドウィンいいえ、あなたは実際にこの投稿を保持する必要があります。他の質問には答えがないので、重複として参照することはできません。 – nrussell
いいえ、私はしません:) – Edwin