You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

问询:通过列比率计算单位人口结核病发病率用于建模是否正确

关于结核病发病率计算代码的正确性判断

首先,从核心逻辑来看,rate <- tbData$TB/tbData$Population这段代码的计算思路是正确的——单位人口结核病发病率的本质就是结核病病例数(TB)除以对应区域的总人口数(Population),得到的是单位人口中出现结核病病例的比例。

但有几个细节需要注意,避免出现错误或不符合研究习惯的情况:

  • 数据框大小写匹配:你提供的head()输出里数据框名为TBdata,但代码里写的是tbData,R语言对大小写敏感,这会直接导致报错,需要统一两者的拼写(要么全用TBdata,要么全用tbData)。
  • 数据类型验证:要确保TB和Population是数值型变量(整数或双精度类型),如果是字符型,除法运算会失败。可以用class(tbData$TB)和class(tbData$Population)快速验证类型。
  • 缺失值处理:如果TB或Population存在缺失值(NA),计算出的rate对应位置也会是NA,可以根据需求用na.omit(tbData)或dplyr::filter(!is.na(TB), !is.na(Population))先清理数据。
  • 发病率单位优化:直接计算得到的比例数值极小(比如第一行结果约为0.000577),实际研究中通常会转换成每10万人口发病率,更便于解读和跨区域比较,代码可调整为:
    rate_per_100k <- (tbData$TB / tbData$Population) * 100000
    

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 19:54:28