73

繰り返し使用する関数の一部として、列インデックスを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()
}
4

1 に答える 1

109

オブジェクトを使用する代わりに文字列を渡す代わりに、を使用できますaes_stringaes

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")
于 2013-03-17T07:40:32.213 に答える