我正在尝试创建一个创建并返回一个新函数的函数。我尝试了以下方法,但不起作用。我想要
myfunc <- function(W){
myfunc2=function(X){
Y=W%*%X
return(Y)
}
return(myfunc2)
}
我希望能够在 myfunc 之外使用 myfunc2。关于如何做到这一点的任何想法?
最佳答案
呃。是的,它确实。从我的终端:
> myfunc <- function(W){
+
+ myfunc2=function(X){
+ Y=W%*%X
+ return(Y)
+ }
+ return(myfunc2)
+ }
> myfunc()
function(X){
Y=W%*%X
return(Y)
}
<environment: 0x5034590>
我的意思是,如果你想真正能够调用它,你需要运行:
myfunc2 <- myfunc()
但除此之外,它似乎完全正常。如果你想将它隐式分配给全局环境,而不是将它分配给一个对象:
myfunc <- function(W){
myfunc2=function(X){
Y=W%*%X
return(Y)
}
assign("name_you_want_in_the_global_environment",myfunc2, envir = .GlobalEnv)
return(invisible())
}
myfunc()
关于r - 在 R 中返回函数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27629680/