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

String 如何在R中将字符串转换为数学表达式?,string,r,math,plot,String,R,Math,Plot,我有一个字符串向量,比如说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

我有一个字符串向量,比如说
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”,而不是字符串的数学解释,我猜这是因为它们不被视为数学符号


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

通常,使用
表达式
(请参见
?plotMath
):

请注意,“E^A”不在引号中

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


lbls
expression
以及
as.expression
无法将字符转换为表达式。如果要在x轴上获取这些表达式,是否查看了
?轴
plot(1,main=expression(E^A))
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) ?