使用fitdistplus进行拟合分布会导致charToDate(x)中出现错误

时间:2019-04-14 03:37:27

标签: r tidyverse fitdistrplus

我正在用毒药分配在我的数据框中填充列,但是它不断警告此错误:“ charToDate(x)中的错误:   字符串不是标准的明确格式”

 Date       Admissions Attendance Tri_1 Tri_2 Tri_3 Tri_4 Tri_5
   <date>          <int>      <int> <dbl> <dbl> <dbl> <dbl> <dbl>
 1 2014-04-01         84        209     5    33    62    80    29
 2 2013-08-01         96        207     2    45    95    59     6
 3 2013-12-01        100        254     3    37    97   102    14
 4 2014-02-01        106        235     3    38    83    94    17
 5 2014-01-01         84        222    10    25    53   115    18
 6 2013-07-01         99        235     8    33    89    85    20
 7 2014-06-01         89        210     9    37    58    89    17
 8 2014-03-01         94        247     6    36    73   110    22
 9 2014-05-01        101        211     5    33   113    53     6
10 2013-11-01        104        234     3    42   108    73     8

这是我的数据,我想将其拟合为tri_1列。即使更改日​​期类型,也会导致错误不断出现。

这是我的代码: 估计<-df%>%fitdist(data = Tri_1,distr =“ pois”)

它会继续警告此错误: “ charToDate(x)中的错误:   字符串不是标准的明确格式”

1 个答案:

答案 0 :(得分:0)

在诸如mutate/summarise/select/..之类的tidyverse函数环境中,该列名称未引用。 fitdist来自fitdistrplus,它可能与tidyverse函数不兼容。我们可以直接申请

library(fitdistrplus)
fitdist(df$Tri_1,distr = "gamma")
#Fitting of the distribution ' gamma ' by maximum likelihood 
#Parameters:
#       estimate Std. Error
#shape 4.0508963  1.7421450
#rate  0.7501967  0.3434884

或者,如果我们需要在管道中使用它,则应pull编辑该列

library(dplyr)
df %>%
    pull(Tri_1) %>%
    fitdist(data = ., distr = "gamma")
#Fitting of the distribution ' gamma ' by maximum likelihood 
#Parameters:
#       estimate Std. Error
#shape 4.0508963  1.7421450
#rate  0.7501967  0.3434884