在 R 中使用 fitdist 将数据拟合到 Gumbel 分布时出错

Error in fitting data to Gumbel distribution using fitdist in R

我正在尝试 运行 Gumbel 分发的以下内容:

    (gdist<-fitdist(z1,dgumbel,start=list(mu=22.147,sd=38.372)))
    summary(gdist)

出现以下错误:

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

我的数据头长这样:

    > head(data)
   Year No     z1   SOI
 1 1900  1  11.05  14.6
 2 1901  2   9.23  14.7
 3 1902  3  39.48  -1.6
 4 1903  4 -43.41   1.9
 5 1904  5  -8.26  -5.1
 6 1905  6 -33.97 -20.1

您输入的start参数有误。由于有很多不同的包有 gumbel,你必须检查你使用的是哪一个并查看参数。 您需要将 dgumbel 的参数赋予起始值。对于 ordinal package:

dgumbel(x, location = 0, scale = 1, log = FALSE, max = TRUE)

因此您的 start=list() 必须提供 locationscale

对于 extraDistr (documentation)

dgumbel(x, mu = 0, sigma = 1, log = FALSE)

所以start=list()需要包含参数musigma

这里有一个如何相应地使用它的例子:

 gdist<-fitdist(df$z1,dgumbel,start=list(mu=22.147, sig= 38.372))

这给了你一个输出。 通过调用 dgumbel 函数的起始值的正确名称来修复错误消息。因为我不知道你使用哪个包我建议检查文档或使用 ?dgumbel 在你的 IDE 中看到它,如果你使用一个。

将参数名称更改为文档中使用的名称。