Я рисую много похожих графиков, поэтому я решил написать функцию, упрощающую задачу. Я хотел бы передать ему data.frame
и имя столбца, который будет отображаться. Вот то, что я пробовал:Как передать имена столбцов функции, обрабатывающей data.frames
plot_individual_subjects <- function(var, data)
{
require(ggplot2)
ggplot(data, aes(x=Time, y=var, group=Subject, colour=SubjectID)) +
geom_line() + geom_point() +
geom_text(aes(label=Subject), hjust=0, vjust=0)
}
Теперь, если var
это строка не будет работать. Он не будет работать, если изменить команду aes
команды ggplot
на y=data[,var]
, и она будет жаловаться на невозможность подмножества закрытия.
Итак, что является правильным способом/лучшей практикой для решения этой и подобных проблем? Как я могу легко и безопасно передавать имена столбцов в функции, которые хотели бы обрабатывать на data.frames?
Вместо этого используйте 'aes_string'. – joran
@joran вы могли бы также опубликовать это как ответ. – Justin