私は、多くの夏の間、時間の経過とともにハエの累積的な出現に取り組んでいます(不規則な間隔で撮影されました)(ただし、最初は1年間の作業を試みています)。累積出現はシグモイド パターンに従い、3 パラメーターのワイブル累積分布関数の最尤推定を作成したいと考えています。fitdistrplus
パッケージで使用しようとしている 3 パラメーター モデルでエラーが発生し続けます。これは私のデータがどのように構造化されているかに関係しているに違いないと思いますが、それを理解できません。明らかに、各ポイントをx
(度日) およびy
(emerge) 値ですが、2 つの列を読み取ることができないようです。私が得ている主なエラーは、「数学関数への非数値引数」または(わずかに異なるコードで)「データは1より大きい長さの数値ベクトルでなければなりません」と言います。以下は、df_dd_em
有用な場合に備えて、累積的な出現とパーセントの出現のためにデータフレームに追加された列を含む私のコードです。
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')