如何在R中将字符串转换为数学表达式?

Pen*_*yao 5 string math plot r

比方说我有一个字符串向量c("E^A","S^P","lambda","T","E^Q","E^Q","AT"),我想用数学表达式将它们绘制为x轴标签.(我相信我用数学表达式格式编写了它们,但是引用了)

当我放

text(x,par("usr")[3]-0.2,labels=substitute(A,list(A=label)),srt=20,pos=1,adj = c(1.1,1.1), xpd = TRUE,cex=0.7)

x轴仅显示"E ^ A","S ^ P","lambda","T","E ^ Q","E ^ Q","AT",而不是字符串的数学解释,以及我想这是因为它们不被视为数学符号.

那我怎么能得到数学标签呢?非常感谢!

mat*_*fee 7

一般来说,使用expression(见?plotMath):

plot(1,main=expression(E^A))
Run Code Online (Sandbox Code Playgroud)

请注意,'E ^ A' 不在引号中.

要从字符向量生成表达式,请使用parse(text=...):

lbls <- c("E^A","S^P","lambda","T","E^Q","E^Q","AT")    
x <- 1:length(lbls)
y <- runif(length(lbls))
# I'm just going to draw labels on the (x,y) points.
plot(x,y,'n')
text(x,y, labels=parse(text=lbls)) # see the parse(text=lbls) ?
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述