假设我有这样一个函数:
my_lm <- function(formula, data) {
lm(formula, data)
}
my_lm(Sepal.Length ~ Sepal.Width, iris)
我希望你返回类似这样的结果:
Call:
lm(formula = Sepal.Length ~ Sepal.Width, data = iris)
Coefficients:
(Intercept) Sepal.Width
6.5262 -0.2234
但是实际上,它会返回以下内容:
Call:
lm(formula = t, data = data)
Coefficients:
(Intercept) Sepal.Width
6.5262 -0.2234
我该如何实现这一功能?我猜测可能涉及到非标准的评估或环境,但是模糊和含糊不清的回答就像我能提供的一样好。
eval(bquote(..., substitute()))
的含义... - Ben Bolker