Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 此(用户定义)函数的参数应采用何种形式?_R_Calculus_Stochastic - Fatal编程技术网

R 此(用户定义)函数的参数应采用何种形式?

R 此(用户定义)函数的参数应采用何种形式?,r,calculus,stochastic,R,Calculus,Stochastic,我目前正在学习随机金融学模块(尽管R不是先决条件),但我需要在R中编写/修改一些代码。我目前正努力从以下代码中获得有效输出,我们已经获得了这些代码: bmsim=function(nsim,ntime) { wn=matrix(rnorm(nsim*ntime),nrow=nsim,ncol=ntime)/sqrt(ntime) bm=matrix(0, nrow=nsim,ncol=ntime+1) for(i in 1:nsim) bm[i,]=cumsum(c(0,wn[i,]

我目前正在学习随机金融学模块(尽管R不是先决条件),但我需要在R中编写/修改一些代码。我目前正努力从以下代码中获得有效输出,我们已经获得了这些代码:

bmsim=function(nsim,ntime) {
  wn=matrix(rnorm(nsim*ntime),nrow=nsim,ncol=ntime)/sqrt(ntime)
  bm=matrix(0, nrow=nsim,ncol=ntime+1)
  for(i in 1:nsim) bm[i,]=cumsum(c(0,wn[i,]))
  bm
}


stoch.int=function(fun1=fun.null,fun2=fun.null,w=bm,lh=T,sigma=1, nu=1, alpha=1) {
  environment(fun1)=environment()
  environment(fun2)=environment()
  nsim=nrow(w)
  ntime=ncol(w)-1
  jj=0
  if(lh==F) jj=1
  si=rep(0,nsim)
  for(j in 1:ntime) {
    si=si+sigma*fun1(w[,j+jj])*(w[,j+1]-w[,j]) + nu*fun2(w[,j+jj])/ntime
  }
  si
}
运行此代码并在控制台中定义了
bm=bmsim(20,20)
,我正在努力从函数
stoch.int
获取输出。这样做的原因(我相信)是因为我没有以正确的形式提供此函数的参数

首先,由于参数
fun1
fun2
应该是函数,我不确定如何表示这些值。它希望我使用什么变量?这些参数是否应该在引号中给出

有人能帮我理解什么样的参数会给出这个函数的输出吗

我怀疑,尽管我还没有让它工作,参数应该以如下形式给出

stoch.int(expression(sqrt(1 - x^2)), 'x', expression(sqrt(1 + x^2 + x^3)), 'x')

注意:如果这不是发布此问题的正确位置,我深表歉意。R网站()建议将此作为有关R的问题论坛。

您可以使用以下格式运行此函数:

stoch.int(function(x) {sqrt(1 - x^2)}, function(x) { sqrt(1 + x^2 + x^3) })
它确实会产生警告和奇怪的结果,但这就是指定函数的方法