gpt4 book ai didi

r - 优化错误(par = Tm1,fn = .logLgam,x = x): object 'Tm1' not found

转载 作者:行者123 更新时间:2023-12-04 07:32:13 26 4
gpt4 key购买 nike

我正在尝试运行 MSClaio2008 nsRFA的功能R 中的库。按照文档,我已经成功运行了网站上给出的示例。但是,当我创建自己的数据集以使用 MSClaio2008 运行时功能如下图所示:

library(nsRFA)
data <- c(91,84,42,30,66,95,65,12,27,61,31,101,48,52,53,55,80,23,87,46,50,33,75,88,54,17,57,39,10,89,59,24,11,43,13,93,105,28,104,18,103,62,22,58,15,34,74,51,97,44,99,76,14,16,109,92,110,40,78,83,60,49,96,36,32,81,68,20,56,25,63,47,37,29,100,71,106,41,90,70,85,38,19,108,73,102,26,82,98,45,77,35,94,79,86,72,107,21,67,69,64)
MSC <- MSClaio2008(data)
它抛出这个错误:

Error in optim(par = Tm1, fn = .logLgam, x = x) : object 'Tm1' not found


我在这个平台上搜索过话题,我找到了 this但这并没有解决我的问题。

最佳答案

这看起来像是包中的一个错误,但它与您的数据很奇怪这一事实有关。这个函数应该是拟合水文极端观测的分布:你给它一个从 10 到 110 的整数序列。
事实证明,当计算一些可能的分布( P3GEV ,我认为)的拟合时,该函数在内部计算数据的偏度,并测试如果偏度为正面或负面。它没有考虑偏度恰好为 0 的可能性!
nsRFA:::ML_estimation :

skx <- sum((x - mean(x))^3)/(length(x) * sd(x)^3)
if (skx > 0) {
Tm1 <- min(x) - 1
...
} else if (skx < 0) {
Tm1 <- max(x) + 1
...
}
如果偏度恰好为零,则变量 Tm1未设置,下一步依赖于 Tm1休息。
如果您以某种方式扰乱数据以使偏度不完全为零,则这应该有效,例如 MSClaio2008(c(8,data))MSClaio2008(data+rnorm(length(data), sd=0.001)) ...
这是一个奇怪的案例,但值得联系维护者( maintainer("nsRFA") )让他们知道。

关于r - 优化错误(par = Tm1,fn = .logLgam,x = x): object 'Tm1' not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67887105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com