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

时间:2019-04-24 13:43:04

标签: r distribution fitdistrplus

我正在为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

1 个答案:

答案 0 :(得分:1)

您输入的start参数错误。由于有很多不同的软件包带有gumbel,因此您必须检查使用的软件包并查看参数。 您需要将dgumbel的参数设为起始值。对于ordinal package

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

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

extraDistrdocumentation

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中查看它(如果使用的话)。

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