Does your locale support these characters? Does '\u03b1' print an alpha character? If not, you'll need to change your encoding. E.g.,
Sys.setlocale('LC_CTYPE', 'greek')
Then replace your calls to expression
with the unicode strings for alpha, beta, etc.
df$var<-factor(df$var, levels=c(1,2,3),
labels=c("1"='\u03b1',
"2"='\u03b2',
"3"='\u03b3'))
The way you're using expression
is only valid for plots. Unless you really need to have Greek letters in your factor, I suggest using the words 'alpha', 'beta', etc. until it's time to plot.