【问题标题】:Error code 100 fitting gamma3 distribution using fitdist in r (paramlist error)错误代码 100 在 r 中使用 fitdist 拟合 gamma3 分布(参数列表错误)
【发布时间】:2021-09-23 00:29:57
【问题描述】:

我正在尝试使用库中的 fitdistr (fitdistrplus) 来拟合我的数据的多个分布,以找到最佳拟合。我使用图书馆(FAdist)中的 dgamma3。如何为每个分布设置起始参数?

library(FAdist)
library(fitdistrplus)
x <- rnorm(30,5,1)
fitdist(x, distr = 'gamma3',start = list(meanlog=0,sdlog=1))

这是错误:

$start.arg
$start.arg$meanlog
[1] 0

$start.arg$sdlog
[1] 1


$fix.arg
NULL

Error in checkparamlist(arg_startfix$start.arg, arg_startfix$fix.arg,  : 
  'start' must specify names which are arguments to 'distr'.

2021/7/15 修改: 我更改了参数列表,仍然出现错误。 我正在使用库:FAdist、fitdistrplus

x <- rgamma3(30, shape = 1, scale = 1, thres = 0)
fitdist(x, distr = 'gamma3', start = list(shape = 1, scale = 1, thres = 0)) 

[1] "gamma3"
$start.arg
$start.arg$shape
[1] 1

$start.arg$scale
[1] 1

$start.arg$thres
[1] 0


$fix.arg
NULL
Error in checkparamlist(arg_startfix$start.arg, arg_startfix$fix.arg, : 'start' must specify names which are arguments to 'distr'.

【问题讨论】:

    标签: r


    【解决方案1】:

    您的初始参数列表 (start) 需要具有与 dgamma3 函数对应的名称。来自文档:

    dgamma3(x,shape=1,scale=1,thres=0,log=FALSE)
    

    所以,

    fitdist(x, 'gamma3', start=list(shape=1,scale=1, thres=0))
    

    【讨论】:

    • 我仍然收到错误询问参数列表 > fitdist(x, distr = 'gamma3', start = list(shape = 1, scale = 1, thres = 0)) 检查参数列表中的错误(arg_startfix$start .arg, arg_startfix$fix.arg, : 'start' 必须指定作为 'distr' 参数的名称。
    猜你喜欢
    • 1970-01-01
    • 2019-09-13
    • 2019-01-31
    • 2021-05-01
    • 1970-01-01
    • 2018-12-01
    • 2017-10-05
    • 2018-03-30
    • 2022-01-02
    相关资源
    最近更新 更多