Подтвердить что ты не робот

R передает переменные столбцы в ggplot2

Я пытаюсь передать индексы столбцов в ggplot как часть функции, которую я буду использовать повторно. как:

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

Я всегда буду использовать первый столбец как мою переменную x, а второй столбец - как свою y-переменную, но имена столбцов изменяются между наборами данных. Я искал все. Любые идеи?

EDIT:

Это ответ, который я использовал:

require(ggplot2)

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

Ответ 1

Вы можете использовать aes_string вместо aes для передачи строки вместо использования объектов, то есть:

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")