每次都会给出上述错误代码的可重现示例是: (请注意,即使没有set.seed,每次都会出现错误)
library(MASS)
set.seed(seed = 1)
data<-rnorm(n = 10000,mean = 0.0002,sd = 0.001)
fitdistr(x = data,densfun = "t")
错误消息是:
Error in stats::optim(x = c(-0.000426453810742332, 0.000383643324222082, :
non-finite finite-difference value [2]
In addition: Warning message:
In log(s) : NaNs produced
问题是&#34;非有限的有限差分值&#34;。 Fitdistr没有给我一个结果。
我的知识: 我研究并且显然这可能意味着在迭代期间参数是负的。并且解决方案可以是提供更好或至少不同的起始值。但我无法弄清楚如何做到这一点,我不确定这是不是问题。
我的问题: a)为什么我收到此错误消息 和 b)如何在R中修复它,以便我可以将student-t分布与我正常分布的数据相匹配?