假设您在R中有一个数字(nums)向量,并且您希望使用以下每个数字创建一个函数,如下所示:
k = 1
for (i in nums){
assign(paste("fun_",k, sep = ""), function(x) rnorm(x,i,1))
k=k+1
}
但是,当代码运行时,所有函数都定义如下:
function(x) rnorm(x,i,1)
这意味着它们都将使用i的当前全局值,而不是循环中给它们的实际数字。有没有强制函数使用数值而不是在函数定义中使用变量i?
由于