作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个简单的例子:
ylab<-expression(paste(beta, "/ml"))
plot(1:10, ylab=ylab)
但如果我使用另一个变量索引 beta:
unit<-beta
ylab<-expression(paste(unit, "/ml"))
plot(1:10, ylab=ylab)
我的问题是如何在 R 表达式中索引这些希腊符号?
最佳答案
更新:似乎希望将表达式外部的变量传递到在 plot
调用之外构造的表达式类变量。这似乎比使用 eval(parse(text=paste( ... ))
构造复杂得多:
unit=quote(beta)
ylab<-bquote(.(unit)/ml)
plot(1:10, ylab=ylab)
此处说明的类(class)是使用 quote
来防止对符号求值,然后在表达式内求值到名称。
也可以使用 as.name
或 as.symbol
:
unit=as.name('beta')
回答我最初怀疑的问题,因为它是一个(实际上是两个)我在 R 的早年挣扎过。我猜你想要构建刻度标签而不是轴标签并且你想要这些显示为希腊字母或其他 plotmath
-y 结构,但替换为升序的“索引”值。第二个请求需要使用 substitute
或 bquote
,而第一个请求需要记住使用 par
参数抑制 y 轴刻度和标签然后使用 axis
。
plot(1:10, ylab=ylab,yaxt="n")
# Now create "horizontally aligned" (using las=2) beta-value tick labels
axis(2, at=1:10,
labels=as.expression(lapply( 1:10, function(x) bquote( beta == .(x)))) ,
las=2)
围绕 bquote
-ed-results 列表的 as.expression
包装器是我在较早的答案(由我)中发现的,我认为只是标记为重复,但它不涉及任何绘图,因此我决定将其视为“部分重叠”。
关于r - 如何在 R 表达式中索引希腊符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39153440/
我是一名优秀的程序员,十分优秀!