如何通过r中的for循环创建边际分位数函数的list()
我试图创建一个包含边际分位数函数的列表,以便在Varbound()中使用。我的问题是我需要在函数之间放置不同的平均值和sd值,因此我使用了一个For循环:如何通过r中的for循环创建边际分位数函数的list(),r,list,function,quantile,R,List,Function,Quantile,我试图创建一个包含边际分位数函数的列表,以便在Varbound()中使用。我的问题是我需要在函数之间放置不同的平均值和sd值,因此我使用了一个For循环: distribuciones<-function(p,m,v){ qnorm(p,mean=m,sd=sqrt(v))} p<-0.99 cuantiles<-list() for(i in 1:5){ d<-distribuciones(p,as.numeric(medias[i]),as.
distribuciones<-function(p,m,v){
qnorm(p,mean=m,sd=sqrt(v))}
p<-0.99
cuantiles<-list()
for(i in 1:5){
d<-distribuciones(p,as.numeric(medias[i]),as.numeric(varianzas[i]))
cuantiles[i]<-d}
有人知道如何通过FOR循环创建具有给定mean和sd的边际分位数函数列表,但将p作为变量保留吗 如果将
分发单元设计为返回函数,然后创建对该函数的调用以交付该函数的特定实例,则p
、m
和v
的值将位于该特定实例化函数的环境中:
distribuciones<-function(p,m,v){ function(p,m,v){
qnorm(p=p,mean=m,sd=sqrt(v))}}
qn <- distribuciones(.5,0,1)
distribuciones<-function(p,m,v){ function(){
qnorm(p=p,mean=m,sd=sqrt(v))}}
qn <- distribuciones(.5,0,1)
> qn()
[1] 0
Distributiones ls(环境(qn))
[1] “m”“p”“v”
>环境(qn)$p
[1] 0.5
>环境(qn)$m
[1] 0
>环境(qn)$v
[1] 1
您还可以将其设置为创建无参数函数:
distribuciones<-function(p,m,v){ function(p,m,v){
qnorm(p=p,mean=m,sd=sqrt(v))}}
qn <- distribuciones(.5,0,1)
distribuciones<-function(p,m,v){ function(){
qnorm(p=p,mean=m,sd=sqrt(v))}}
qn <- distribuciones(.5,0,1)
> qn()
[1] 0
distribuciones如果将distribuciones
设计为返回函数,然后创建对该函数的调用以交付该函数的特定实例,则p
、m
和v
的值将位于该特定实例化函数的环境中:
distribuciones<-function(p,m,v){ function(p,m,v){
qnorm(p=p,mean=m,sd=sqrt(v))}}
qn <- distribuciones(.5,0,1)
distribuciones<-function(p,m,v){ function(){
qnorm(p=p,mean=m,sd=sqrt(v))}}
qn <- distribuciones(.5,0,1)
> qn()
[1] 0
Distributiones ls(环境(qn))
[1] “m”“p”“v”
>环境(qn)$p
[1] 0.5
>环境(qn)$m
[1] 0
>环境(qn)$v
[1] 1
您还可以将其设置为创建无参数函数:
distribuciones<-function(p,m,v){ function(p,m,v){
qnorm(p=p,mean=m,sd=sqrt(v))}}
qn <- distribuciones(.5,0,1)
distribuciones<-function(p,m,v){ function(){
qnorm(p=p,mean=m,sd=sqrt(v))}}
qn <- distribuciones(.5,0,1)
> qn()
[1] 0
distribuciones您的distribuciones
函数不是为返回函数而设计的。它正在返回值。您的distributiones
函数不是为返回函数而设计的。它正在返回值。