web-dev-qa-db-ja.com

Rは可変列インデックスをggplot2に渡します

繰り返し使用する関数の一部として、列インデックスをggplotに渡そうとしています。のような:

myplot <- function(df){
    ggplot(df, aes(df[, 1], df[, 2])) + geom_point()
}

最初の列を常にx変数として使用し、2番目の列をy変数として使用しますが、列名はデータセット間で変更されます。私はすべてを検索しました。

編集:

これは私が使用した答えです:

require(ggplot2)

myplot <- function(df){
   ggplot(df, aes_string(colnames(df)[1], colnames(df)[2])) + geom_point()
}
66
N8TRO

aesの代わりにaes_stringを使用して、オブジェクトを使用する代わりに文字列を渡すことができます。

myplot = function(df, x_string, y_string) {
   ggplot(df, aes_string(x = x_string, y = y_string)) + geom_point()
 }
myplot(df, "A", "B")
myplot(df, "B", "A")
101
Paul Hiemstra