NSE

ggplotで文字列をaesに引き渡したいとき

ggplotは aes の中がNSEになっている。なので、 ggplot(data = iris) + geom_histogram(aes(x = Sepal.Length)) これは動くけど、 ggplot(data = iris) + geom_histogram(aes(x = 'Sepal.Length')) これは動かない。文字列を aes に引き渡したいときは、 aes…

NSE処理で変数列名を柔軟に変更

R NSE

データフレーム と 使用する変数 と 新しく合成する変数列名 を引数にもつ関数を作ったとする。 f <- function(data, var, new_var) { # NSE処理 var <- rlang::enquo(var) new_var <- rlang::enquo(new_var) # varを2倍した新しい変数 `new_var` を作る .d …

ggplotでNSE処理

ggplotで変数を柔軟に変更できるような自作関数を作りたくなったら、やはりNSE処理が必要になる。例えば、あるデータフレームを使用して、そのデータフレーム中の2つの変数を指定し、散布図を描きたいとしよう。 ggplot(data = iris) + geom_point(aes(x = S…

NSE処理について

R NSE

引数に データフレーム と データフレーム中の変数 を指定可能な自作関数を作りたいときがある。 例えば、 iris %>% select(Sepal.Length) という超簡単な処理を Sepal.Length 以外の変数でも使えるように、この処理を関数化してみよう。直感的にはこんな風…