我首先定义了一个新变量x
,然后创建了一个函数,它需要在其体内(不作为参数)使用x
。见下文为什么这个简单的功能不起作用?
x <- c(1,2,3)
f1 <- function() {
x^2
}
rm(x)
f2 <- function() {
x <- c(1,2,3)
f1()
}
f(2)
Error in f1() : object 'x' not found
代码当我除去x
,并定义新的函数f2
该第一限定x
然后执行f1
,它显示对象未找到x
。
我只是想知道为什么这不起作用,我怎么能克服这个问题。我不想x
被称为f1
中的参数。
请提供适当的标题,因为我不知道这是什么样的问题。
沿环境“链”('parent.env')搜索变量名称。 'f2'内声明的'x'不在任何父环境中,而在“兄弟”环境中。请阅读http://adv-r.had.co.nz/Environments。html的基本知识来详细了解这个问题 –