4
$\开始组$

我有一个数据库,包含10个年龄组([15;19],[20;24]…[+60)和每个年龄组中的个人数,但它不遵循任何分布(一旦减少,其他时间增加),我想找到每个特定年龄(15,16,17,18….)的个人数量,有什么帮助吗?

我正在研究无慢性病预期寿命,我有其他关于慢性病患者的数据,但年龄组与研究人群的数据不同(是(6-16)、(17-18)、(19-29)……)我想计算慢性病的患病率。d日

我的数据示例:

数据<-Data.frame(age_groups=c(“[15-19]”、“[20-24]”、“[25-29]”,“[30-34]”、”[35-39]“,”[40-44]“,”“[45-49]”“,”50-54]“、”[55-59]“、”+60“),2020年=c(3027、14435、10002、7755、5306、2351、5290、2892、1775、11435),in2021=c(360917845866854264435195037582559217112848),2022年=c(3470、16548、11466、8890、6083、2695、6065、3315、2034、13109),2023年=c(3609、17210、11925、9246、6326、2803、6307、3448、2116、13634)

$\端组$
4
  • $\开始组$ 您好,欢迎使用CrossValidated。你说“我想找出每个特定年龄段的人数”。你能详细说明一下你为什么要这样做吗?我这样问是因为你想解决的问题(如果它不仅仅是“找出每个特定年龄段的人数”)可能会有另一个比你想象的解决方案。 $\端组$
    – J-J-J型
    4月26日21:06
  • 1
    $\开始组$ 你好,J-J-J,谢谢你。我正在研究无慢性病预期寿命,我有其他关于慢性病患者的数据,但年龄组与研究人群的数据不同(是(6-16)、(17-18)、(19-29)……)我想计算慢性病的患病率。d日 $\端组$
    – 努尔
    4月26日22:08
  • $\开始组$ 我建议你编辑你的问题,在上面的评论中提到你刚才提供的所有信息,这样更多的人会看到它,并可能在他们的回答中考虑到它。 $\端组$
    – J-J-J型
    4月27日10:40
  • $\开始组$ 这是一个很好的例子,说明了为什么在发布结果时不应该对年龄进行分类。 $\端组$ 4月27日11:59

3个答案

重置为默认值
5
$\开始组$

你没有任何关于年龄在年龄组中如何分布的信息。你所能做的就是选择一个看似合理的分布,并将其应用于每个年龄组。例如,假设年龄在每个年龄组内均匀分布可能是合理的——如果你有N美元$群体中的个人X美元$你会预料到美元N/X$每个特定年龄段的个体(例如,50个20-24岁的个体,你预计每年会有10个)。

当然,这有多有效,完全取决于您对分发的任意选择对现实的反映程度。例如,如果这代表了对年龄以“0”结尾的人的调查,那么假设年龄是均匀分布的将是一个非常糟糕的假设。对于年龄范围的极端情况,这也可能不是一个好的假设,例如,在60-100岁的年龄组中,你可能会看到60岁以上的人多于100岁的人。为了解决这个问题,如果你知道的话,你可以根据你所分析的人口统计学来衡量年龄范围。但如果没有按年龄进行隐式或显式选择,均匀分布可能就足够了。

$\端组$
0
$\开始组$

一旦你把两个数字加在一起求和,就无法判断是用哪两个数字求和的。然而,您可以尝试插值,如果不使用软件进行解释,这将非常繁琐。例如,让我们先用Mathematica语言演示一次脏兮兮的尝试,以重建2020年的数字来源:

y={302714435100021775553062351529028921775};x={17、22、27、32、37、42、47、52、57};f[x]=转置[Join[{x,y}]];插值[f[x]]绘图[InterpolatingFunction[{{17,57}},{5,3,0,{9},},0,0,自动,{}、{},错误},{{17、22、27、32、37、42、47、52、57}}\{{3027}, {14435}, {10002}, {7755}, {5306}, {2351}, {5290}, \{2892},{1775}},}自动}][\[FormalX]],{\[FormaliX],17,57}];显示[%,ListPlot[f[x],PlotStyle->Red]]

这就产生了,

在此处输入图像描述

请注意,>60 y/o类别未包括在内,插值仅从17岁延伸至57岁,因为在相反的情况下,我们将进行推断。要使用此方法,您需要求解特定年龄(如18岁)的插值函数。是/否,然后它会给出一个答案,表明一个以18岁为中心的五岁年龄组会包含什么。岁。要找出以18岁为中心的一年利率,你可以用这个数字除以5,如下所示(同样在Mathematica中)

插值[f[x],18.]/5

结果是1488.24,现在显然不存在0.24这样的人,而1488.24是一个粗略的估计,它大于605.4的估计值或17岁的预期人数。(15-19岁的中年除以5。)

请注意,Interpolation函数调用有一个名为“InterpolationOrder->3”的默认平滑,其中直线段插值将为“->1”。还有一些方法选项,例如,埃尔米特插值。有关更多信息,请参阅Mathematica的插值文档。

最后,请注意,如果有人如实回答他们是17岁,那就意味着他们已经完成了17岁$^\text{th}$他们出生后的第二年或平均年龄约为17.5岁,因此,尽管单年17岁左右的间隔可能被认为在16.5至17.5岁之间,因为年龄被截断,17岁的“插值”实际上包括17至18岁之间的间隔。这为数据引入了一个步长函数粒度,年龄只有两个有效数字,虽然没有五年分组那么严重,但表明最佳实践是收集出生日期学习时间(数据收集日期)以及研究计划和数据收集之前应先进行统计思考。

$\端组$
  • $\开始组$ 我不确定这是否有效。如果你把每个年龄段的内插值加起来,你通常甚至得不到这个年龄段的总人数。例如,以42为中心的桶达到了2351的最小值,但桶中的所有其他点都高于该值——每年40-44除以5的总和大于2351。同样,该图显示20-24岁的人不到14435人。这种插值甚至无法恢复您给它的原始值,并且可能会创建或销毁最初不存在的数据点。 $\端组$
    – 核Hoagie
    2天前
  • $\开始组$ @当然,这只是非常近似的。数据已被装箱销毁。请注意,范围是17-57年/月,因此删除了一些数据。否则就不需要插值了。有人精确到17年/月的概率为零,但曲线有一个点是17年/年。为了尝试重建实际曲线,需要更多信息,尽管可以使用其他算法、组合外推/插值、多阶段或多步骤数据重建、之前的人口年龄数据,或者最好的是,没有binning的实际数据。 $\端组$
    – 卡尔
    昨天
  • $\开始组$ 完全同意这个问题没有明确说明,有许多解决方案可以产生相同的装箱,而且没有办法在提供相同装箱的解决方案中进行选择。问题是,这种方法通常会产生一个甚至不在可能的候选者范围内的解决方案——它通常会产生我们所知道的分解当然不是观察到的情况。有许多同样好的解决方案,但这通常不会产生任何一个。 $\端组$
    – 核Hoagie
    昨天
0
$\开始组$

已经开发了几种人口统计学方法来插值年龄组数据。请参阅毕业生()DemoTools R包中的函数,以便更好地进行概述。

$\端组$
1
  • 2
    $\开始组$ 大多数答案中包含了更多的信息,因为这些答案的“低质量”规则很短,看起来像是评论。所以,请告诉我们更多。 $\端组$
    – 卡尔
    4月27日18:38

您的答案

点击“发布您的答案”,即表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.