考虑 R 代码:
foo <- function(formula){
Y <- get(formula[[2]])
print(Y)
}
main <- function(){
Y <- 1
X <- 2
foo(Y ~ X)
}
main()
结果表明,在
get(formula[[2]])
中,它找不到对象Y
。
如何使函数在本地设置中读取公式?
如何更改代码才能运行并打印 Y
?
指定
environment
:
foo <- function(formula){
Y <- get(formula[[2]], environment(formula))
print(Y)
}