r - R中的替代和引用有什么区别

标签 r

在官方文档中,它说:

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

quote simply returns its argument. The argument is not evaluated and can be any R expression.



但是当我尝试时:
> x <- 1
> substitute(x)
x
> quote(x)
x

它看起来像 quotesubstitute返回作为参数传递给它们的表达式。

所以我的问题是,substitute 之间有什么区别?和 quote ,以及“替换 env 中绑定(bind)的任何变量”是什么意思?

最佳答案

这是一个示例,可以帮助您轻松查看 quote() 之间的区别。和 substitute() , 在其中 substitute() 的设置(处理函数参数)之一中最常用的是:

f <- function(argX) {
   list(quote(argX), 
        substitute(argX), 
        argX)
}
    
suppliedArgX <- 100
f(argX = suppliedArgX)
# [[1]]
# argX
# 
# [[2]]
# suppliedArgX
# 
# [[3]]
# [1] 100

关于r - R中的替代和引用有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46834655/

相关文章:

r - 为每个字母分配数字,以便 r 计算单词中字母的总和

r - 将几个月的零需求添加到动物园时间序列

r - 以一对多关系合并两个数据集

r - 在 ggplot2 中绘制每个级别的平均值

r - 有没有一种整洁的方法来改变小标题中的单个细胞?

r - R 中带有 LASSO 正则化的序数逻辑回归(或 Beta 回归)?

r - 如何使用已计算的值在 ggplot2 图上绘制 95 百分位数和 5 百分位数?

r - R Epi 包中 Ns() 提供的基础

r - 在 R 中使用 OR 而不是 AND 根据多个条件选择行

r - 在循环中使用glue和dplyr获取关卡名称