这个(用户定义的)函数的参数应该是什么形式?
What form should the parameters for this (user defined) function be in?
我目前正在学习一个关于随机金融的模块(尽管 R 不是先决条件)我需要 write/modify 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')
注意: 如果这不是 post 这个问题的正确位置,我深表歉意。 R 网站 (https://r-dir.com/community/forums.html) 推荐将此作为 R 相关问题的论坛。
您可以使用以下格式获取 运行 的函数:
stoch.int(function(x) {sqrt(1 - x^2)}, function(x) { sqrt(1 + x^2 + x^3) })
它确实会产生警告和奇怪的结果,但这是指定函数的方式。
我目前正在学习一个关于随机金融的模块(尽管 R 不是先决条件)我需要 write/modify 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')
注意: 如果这不是 post 这个问题的正确位置,我深表歉意。 R 网站 (https://r-dir.com/community/forums.html) 推荐将此作为 R 相关问题的论坛。
您可以使用以下格式获取 运行 的函数:
stoch.int(function(x) {sqrt(1 - x^2)}, function(x) { sqrt(1 + x^2 + x^3) })
它确实会产生警告和奇怪的结果,但这是指定函数的方式。