Estoy trazando muchos gráficos similares, así que pensé en escribir una función para simplificar la tarea. Me gustaría pasarle un data.frame
y el nombre de la columna que se trazará. Esto es lo que he intentado:Cómo pasar nombres de columna a una función que procesa 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)
}
Ahora bien, si var
es una cadena no va a funcionar. Tampoco funcionará si se cambia la parte aes
del comando ggplot
al y=data[,var]
y se quejará de que no se puede subconjuntar un cierre.
Entonces, ¿cuál es la forma correcta/mejor práctica para resolver este y otros problemas similares? ¿Cómo puedo pasar los nombres de las columnas de manera fácil y segura a las funciones que deseen procesar en data.frames?
Use 'aes_string' en su lugar. – joran
@joran también podría publicar eso como una respuesta. – Justin