【问题标题】:Fitting data to distributions in R: errors将数据拟合到 R 中的分布:错误
【发布时间】:2018-03-12 17:30:20
【问题描述】:

我正在将我的数据拟合到 R 中的多个分布。目标是查看哪个分布最适合我的数据。我使用的代码基于:http://www.di.fc.ul.pt/~jpn/r/distributions/fitting.html

my_data <- EP1sh

plotdist(my_data, histo = TRUE, demp = TRUE)

descdist(my_data, discrete=FALSE, boot=500)
fit_w  <- fitdist(my_data, "weibull")
fit_g  <- fitdist(my_data, "gamma")
fit_ln <- fitdist(my_data, "lnorm")
summary(fit_ln)

par(mfrow=c(2,2))
plot.legend <- c("Weibull", "lognormal", "gamma")
denscomp(list(fit_w, fit_g, fit_ln), legendtext = plot.legend)
cdfcomp (list(fit_w, fit_g, fit_ln), legendtext = plot.legend)
qqcomp  (list(fit_w, fit_g, fit_ln), legendtext = plot.legend)
ppcomp  (list(fit_w, fit_g, fit_ln), legendtext = plot.legend)


fit = fitdistr(my_data, densfun="lognormal")

我的数据框是一个单向量 EP1sh,它有大约 80 个条目,值在 1 到 6 之间。

我不断收到以下错误。我首先认为这是因为我的数据框中有几个“NA”,但我认为我解决了这个问题并且问题仍然存在(这就是我从 EP1sh 中删除 NA 的方式:)

EP1sh <- na.omit(EP1$Number_share)
EP1sh <- data.frame(EP1sh)

错误是:

我的数据

plotdist 中的错误(my_data,histo = TRUE,demp = TRUE): 数据必须是数值向量

descdist(my_data, 离散=FALSE, boot=500)

descdist 中的错误(my_data,离散 = FALSE,启动 = 500): 数据必须是数值向量

fit_w

fitdist(my_data, "weibull") 中的错误: data 必须是长度大于 1 的数值向量

fit_g

fitdist(my_data, "gamma") 中的错误: data 必须是长度大于 1 的数值向量

fit_ln

fitdist(my_data, "lnorm") 中的错误: data 必须是长度大于 1 的数值向量

总结(fit_ln)

总结错误(fit_ln):找不到对象“fit_ln”

任何想法都会很棒!

【问题讨论】:

  • 你能为我们定义EP3吗?
  • 您好 Erik,感谢您的快速响应。我看到在这篇文章中我不小心写了 EP3,我的意思是 EP1sh。将在上面的问题中解决它,谢谢!
  • 感谢 - 测试我已经定义了 EP1sh &lt;- rep(1:6, 80/6) 并且没有错误。 str(EP1sh) 会给你带来什么回报?
  • @ErikKornet 我改变了问题。看到我的 R 代码中有一些其他名称引用草率,所以错误随着编辑而改变。
  • @ErikKornet 谢谢 - str(EP1sh) 返回 > str(EP1sh) 'data.frame': 83 obs。 1 个变量:$ EP1sh:原子 2 6 3 1 1 1 1 1 1 1 ... ..- attr(*, "na.action")=Class 'omit' int [1:88] 1 6 8 14 18 21 23 25 28 30 ...`

标签: r error-handling distribution


【解决方案1】:

在plotdist()、descdist()、fitdist()和fitdistr()函数中需要指定一个向量,例如my_data$Number_share而不是整个数据框my_data;假设您的“列”名称是Number_share,因此请进行相应修改。这应该有望解决您的问题!

【讨论】:

    猜你喜欢
    • 2019-03-06
    • 1970-01-01
    • 2019-09-13
    • 2015-07-03
    • 2011-05-16
    • 2018-01-14
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多