I seem to be having problems using ggplot2.
I get the following error while trying to plot box plots with the aes_string:
Error: stat_boxplot requires the following missing aesthetics: x, y
Here is an example:
x='group'
y='value'
df=data.frame(group=c('A','A','B','B','C','C'),value=c(1,2,3,4,5,6))
ggplot(data=df,aes_string(x,y)) + geom_boxplot() #returns the error
ggplot(data=df,aes(x,y)) + geom_boxplot() #plots nonsense (naturally)
ggplot(data=df,aes(group,value)) + geom_boxplot() #works, but not strings
Any suggestions on how I can make this work with strings?
aes
allows the first two arguments to be unnamed and are assumed to be x and y (respectively); aes_string
does not have this shortcut, and so all arguments must be named.
Try:
ggplot(data=df,aes_string(x='group',y='value')) + geom_boxplot()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With