我有两个按年龄分类的人群的数据,每个人群都有不同的分类。
人口 1 中的年龄区间:18-24、25-29、30-34、35-45、46-60、61+
人口 2 中的年龄区间:15-19、20-24、25-29、30-34 ... 85-89、90+
我想从这些分箱数据中推断出一个连续分布,以便更直接地比较这两个群体。我尝试拟合未截断的负二项式分布,但它低估了较低的 bin:
所以,现在我想尝试截断的负二项分布。我做了以下事情:
library(truncdist)
library(fitdistrplus)
dtruncated_nbinom <- function(x)
dtrunc(x, "nbinom", a=18, b=100)
ptruncated_nbinom <- function(q)
ptrunc(q, "nbinom", a=18, b=100)
pop1_nbinom <- fitdistcens(pop1_dt, "truncated_nbinom")
但我收到以下错误:
Error in computing default starting values.
Error in manageparam(start.arg = start, fix.arg = fix.arg, obs = pseudodata, :
Error in start.arg.default(obs, distname) :
Unknown starting values for distribution truncated_nbinom.
关于如何处理/解决这个问题的任何建议?
这是pop 1的数据:
pop1 <- data.table(left = c(18,25,30,35,46,61), right = c(25,30,35,46,61,100), counts = c(2745,3115,2726,3433,1368,204))
pop1_dt <- pop1[rep(1:nrow(pop1), pop1[,counts]), .(left, right)]