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()
}
Ответы
Ответ 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")