在r中使用嵌套函数处理变量 f1
在r中使用嵌套函数处理变量 f1,r,function,R,Function,pass在f2的范围内声明,因此它仅在f1的范围内可用。如果要在f1中引用它,必须将其作为参数传递给f1 f1 <- function(x){ pass[4]+x } f2 <- function(x,y){ pass=y f1(x) } f2(x=3,y=c(1,2,3,4,5)) f1检查功能范围内的环境对象 f1 <- function(x, pass) { pass[4]+x } f2 <- function(x,y) { pass=y
pass
在f2
的范围内声明,因此它仅在f1
的范围内可用。如果要在f1
中引用它,必须将其作为参数传递给f1
f1 <- function(x){
pass[4]+x
}
f2 <- function(x,y){
pass=y
f1(x)
}
f2(x=3,y=c(1,2,3,4,5))
f1检查功能范围内的环境对象
f1 <- function(x, pass) {
pass[4]+x
}
f2 <- function(x,y) {
pass=y
f1(x, pass)
}
f1
f1 <- function(x){
print('f1: ')
print(ls(envir = environment()) )
# pass[4]+x
}
f2 <- function(x,y){
pass=y
print('f2: ')
print(ls(envir = environment()) )
f1(x)
}
f2(x=3,y=c(1,2,3,4,5))
f2 <- function(x,y){
f1 <- function(x){
pass[4]+x
}
pass=y
f1(x)
}