gpt4 book ai didi

r - 如何在 R 表达式中索引希腊符号

转载 作者:行者123 更新时间:2023-12-04 11:47:19 26 4
gpt4 key购买 nike

这是一个简单的例子:

ylab<-expression(paste(beta, "/ml"))
plot(1:10, ylab=ylab)

enter image description here

但如果我使用另一个变量索引 beta:

unit<-beta
ylab<-expression(paste(unit, "/ml"))
plot(1:10, ylab=ylab)

enter image description here

我的问题是如何在 R 表达式中索引这些希腊符号?

最佳答案

更新:似乎希望将表达式外部的变量传递到在 plot 调用之外构造的表达式类变量。这似乎比使用 eval(parse(text=paste( ... )) 构造复杂得多:

unit=quote(beta)
ylab<-bquote(.(unit)/ml)
plot(1:10, ylab=ylab)

此处说明的类(class)是使用 quote 来防止对符号求值,然后在表达式内求值到名称。

也可以使用 as.nameas.symbol:

 unit=as.name('beta')

回答我最初怀疑的问题,因为它是一个(实际上是两个)我在 R 的早年挣扎过。我猜你想要构建刻度标签而不是轴标签并且你想要这些显示为希腊字母或其他 plotmath-y 结构,但替换为升序的“索引”值。第二个请求需要使用 substitutebquote,而第一个请求需要记住使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com