0
私のコードは似ています。関数のパラメータ
output <- iris %>%
select(Sepal.Length, Sepal.Width, Species) %>%
filter(Sepal.Width < 3) %>%
group_by(Species) %>%
summarise(mean(Sepal.Length)) %>%
print
# works as expected
# But when I want to write a function like this:
output_function <- function(a, b, c) {
out <- iris %>%
select(a, b, c) %>%
filter(b < 3) %>%
group_by(c) %>%
summarise(mean(a))
return(out)
}
output_function(Sepal.Length, Sepal.Width, Species)
# does not work as expected
理由は明白ですが、私はそれを解決する方法がわかりません。
select、group_byなどの関数を使用するときに、変数の型がわからない
したがって、関数に渡すことができるように正しいパラメータを定義する方法はわかりませんdplyrで。文字列変数に格納
dplyrの非標準的な評価に関する多くの記事、およびビネットを参照してください。https://cran.r-project.org/web/packages/dplyr/vignettes/nse.html – alistaire
このようにする必要があります。 http://stackoverflow.com/questions/27975124/pass-arguments-to-dplyr-functions – thelatemail