gpt4 book ai didi

r - 解析和替换如何工作以允许访问对象名称?

转载 作者:行者123 更新时间:2023-12-01 00:41:17 25 4
gpt4 key购买 nike

我的问题是关于以下代码:

myfunc <- function(v1) {
deparse(substitute(v1))
}

myfunc(foo)
[1] "foo"

我输入了 ?deparse?substitute进入 R 并获得以下结果:
deparse = Turn unevaluated expressions into character strings.


substitute = returns the parse tree for the (unevaluated) expression expr, 
substituting any variables bound in env.

我似乎不太了解这种语言。有人能够简化这些描述的技术方面,以便我可以开始欣赏这两个函数如何协同工作以允许我们做一些很酷的事情,比如访问对象的变量名?

最佳答案

我也在为此挣扎(d)。 myplot()来自 ?substitute 的示例很有帮助。在那里,他们定义:

myplot <- function(x, y)
plot(x, y, xlab = deparse(substitute(x)),
ylab = deparse(substitute(y)))

打电话
myplot(x=1:10, y = rnorm(10))



enter image description here

而替代方案
x = 1:10
y = rnorm(10)
plot(x, y, xlab = x, ylab = y)



enter image description here

希望这显示了什么 deparse(substitute())是用来。在 plot版本, xlabylab参数是用于生成 x 的任何内容的输出和 y . myplot知道为 xlab 传递“实际参数的字符串版本给函数”和 ylab . (引自 ?substitute)

关于r - 解析和替换如何工作以允许访问对象名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37646382/

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