我正在與蒼蠅隨着時間的推移(不規則間隔)在許多夏季(儘管首先我只是想讓一年的工作)累積出現。累積出現遵循S形模式,我想創建一個3參數威布爾累積分佈函數的最大似然估計。我一直試圖在fitdistrplus
包中使用的三參數模型不斷給我一個錯誤。我認爲這一定與我的數據結構有關,但我無法弄清楚。顯然,我希望它讀取每個點作爲x
(度數天)和y
(涌現)值,但它似乎無法讀取兩列。我得到的主要錯誤是「數學函數的非數字參數」或(具有稍微不同的代碼)「數據必須是長度大於1的數字向量」。以下是我的代碼,其中包括在df_dd_em
數據框中添加的列,用於累計出現和出現百分比,以防有用。錯誤運行最大似然估計三參數威布爾cdf
degree_days <- c(998.08,1039.66,1111.29,1165.89,1236.53,1293.71,
1347.66,1387.76,1445.47,1493.44,1553.23,1601.97,
1670.28,1737.29,1791.94,1849.20,1920.91,1967.25,
2036.64,2091.85,2152.89,2199.13,2199.13,2263.09,
2297.94,2352.39,2384.03,2442.44,2541.28,2663.90,
2707.36,2773.82,2816.39,2863.94)
emergence <- c(0,0,0,1,1,0,2,3,17,10,0,0,0,2,0,3,0,0,1,5,0,0,0,0,
0,0,0,0,1,0,0,0,0,0)
cum_em <- cumsum(emergence)
df_dd_em <- data.frame (degree_days, emergence, cum_em)
df_dd_em$percent <- ave(df_dd_em$emergence, FUN = function(df_dd_em) 100*(df_dd_em)/46)
df_dd_em$cum_per <- ave(df_dd_em$cum_em, FUN = function(df_dd_em) 100*(df_dd_em)/46)
x <- pweibull(df_dd_em[c(1,3)],shape=5)
dframe2.mle <- fitdist(x, "weibull",method='mle')
'pweibull'不採取data.frame作爲參數。當你調用這個函數時你想做什麼?你是否想要指定'q'和'scale'?即使使用三參數模型,您也只有一個隨機變量。什麼是你的隨機變量? – MrFlick
隨機變量是出現,但我希望模型瞭解作爲度日(時間)的函數出現 –
也將比例自動設置爲1 –