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

时间:2012-04-02 04:57:51

标签: 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 ^ Q”,“AT”,而不是数学解释字符串,我想这是因为它们不被视为数学符号。

我怎样才能得到数学标签?非常感谢!

1 个答案:

答案 0 :(得分:7)

通常,使用expression(请参阅?plotMath):

plot(1,main=expression(E^A))

请注意,引号中的'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) ?

enter image description here