Я могу думать о двух лучших способах, чем использовать paste
:
ggplot(dat, aes(x=x,y=y)) +
geom_point() +
labs(y=expression(Blah[1*d]))
ggplot(dat, aes(x=x,y=y)) +
geom_point() +
labs(y=expression(Blah["1d"]))
Токены (или «имена» или «символы») в R не должны начинаться с цифр. Таким образом, вы обходите это ограничение либо путем цитирования, либо путем разделения 1
и d
не-пространственным разделителем, *
. Это означает, что «присоединяется» или «лигирует» чистый числовой литерал с юридическим символом или маркером.
Чтобы получить знак процента, неподписались просто:
ggplot(dat, aes(x=x,y=y)) +
geom_point() +
labs(y=expression(Blah[1*d]*"%"))
Чтобы помещать парсеры вокруг pct-sign:
expression(Blah[1*d]*"(%)")
Символ %
имеет особое значение в разборе R, поскольку он означает начало пользовательского инфиксного оператора. Поэтому использование его в качестве литерала требует, чтобы оно было указано.