我想编写一个函数,其中一个参数是用户编写的函数。
具体来说,我有类似的东西:
My_function(n,g){
x<-dnorm(n,0,1)
y<-g(x)
return(y)
}
例如,g(x)= x ^ 2 ...但是由用户选择。当然,我可以直接把g(dnorm(n,0,1))作为参数,但我希望用户用x来表示,即在例子中g&lt; -x ^ 2。
我怎么能这样做,因为x对象只在函数中定义(而不是在参数中)
我无法事先定义g函数(否则,我觉得它很容易)。它必须在&#34; My_function&#34;中定义。这样用户就可以在一行中定义他需要的所有内容。
答案 0 :(得分:0)
为什么不将g=function(x) x^2
My_function=function(n,g){
x<-dnorm(n,0,1)
y<-g(x)
return(y)
}
My_function(1,g)
声明为带参数的函数?
{{1}}