聊聊关于复杂调查加权中权重对数据的分布影响

美国国家健康与营养调查( NHANES, National Health and Nutrition Examination Survey)是一项基于人群的横断面调查,旨在收集有关美国家庭人口健康和营养的信息。
地址为:https://wwwn.cdc.gov/nchs/nhanes/Default.aspx
在这里插入图片描述
上一篇文章《Nhanes临床数据库挖掘教程2—基线表绘制(table1)》发出后,有群友指出,分类变量的数据过大了,是否存在错误,我看一下,确实如此,比如种族1的个数为560万了,总的数据量才1万多点
在这里插入图片描述
这是加权后的数据,我们来看一下Nhanes数据的权重,有些权重是0,有些可以达到10多万
在这里插入图片描述
我们来看一下官方tableone包,svyCreateTableOne函数的示范例子

## Load packages
library(tableone)
library(survey)

## Create a weighted survey design object
data(nhanes)
nhanesSvy <- svydesign(ids = ~ SDMVPSU, strata = ~ SDMVSTRA, weights = ~ WTMEC2YR,
                       nest = TRUE, data = nhanes)

## Create a table object
## factorVars are converted to factors; no need for variables already factors
## strata will stratify summaries; leave it unspecified for overall summaries
tab1 <- svyCreateTableOne(vars = c("HI_CHOL","race","agecat","RIAGENDR"),
                          strata = "RIAGENDR", data = nhanesSvy,
                          factorVars = c("race","RIAGENDR"))

## Detailed output
summary(tab1)

## Default formatted printing
tab1

## nonnormal specifies variables to be shown as median [IQR]
print(tab1, nonnormal = "HI_CHOL", contDigits = 3, catDigits = 2,
      pDigits = 4, smd = TRUE)

## minMax changes it to median [min, max]
print(tab1, nonnormal = "HI_CHOL", minMax = TRUE, contDigits = 3,
      catDigits = 2, pDigits = 4, smd = TRUE)

## showAllLevels can be used tow show levels for all categorical variables
print(tab1, showAllLevels = TRUE, smd = TRUE)

## To see all printing options
?print.TableOne

## To examine categorical variables only
tab1$CatTable

## To examine continuous variables only
tab1$ContTable

## If SMDs are needed as numericals, use ExtractSmd()
ExtractSmd(tab1)

我们看看它最后生成的基线表,和我们做的基本一样,加权后的数据表人数也是上百万的,表明我们的方法没有问题
在这里插入图片描述
下面我们来聊聊权重,权重其实可以简单理解为比重,假如不加权,每个人的权重可以看做1,如果加权后比如有一个人的权重是3,那么就可以把它看做3个人,有人的权重是0.8,那么就可以把它看做0.8个人,这样就会形成了一个数据和原来不相同的虚拟人群(书上是这么说的)。我想借助《应用STATA做统计分析 更新至STATA 12 (原书第8版)》的例子来说下,权重对数据分布的影响,只聊方法,不说代码。
在这里插入图片描述
《应用STATA做统计分析 更新至STATA 12 (原书第8版)》第四章4.3部分提到了,权重的设计,美国有一个州要做民意调查,需要调查所有18岁以上的成年人的意见,但是调查员只有每一家庭户的电话,调查中29%的的人报告家里只有一位成年人,因此得到的调查表成年人的比例如下:
在这里插入图片描述
然而实际情况中,根据打电话接听的几率,家里只有一个成年人的比例只有16%,远低于29%,因此需要设计一个权重来体现家庭中只有1个成年人的比例,具体怎么设计我就不展开了,我们生成了权重adultwt后,我们使用加权后的数据重新来分析
在这里插入图片描述
我们可以看到加权后的数据分布成年人为1的比例基本接近16%,更接近与现实情况,因此,不加权做的数据分布和做加权的数据分布差别很大,加了权重后的数据分布更接近真实情况。

但是Nhanes数据的权重太大了,回到我们的Nhanes数据中,那应该怎么制作基线表呢,我们来看看别人怎么做的,有些是只显示百分比,如:
Non-linear association between diabetes mellitus and pulmonary function: a population-based study
在这里插入图片描述
在这里插入图片描述
有些是说明n没有加权,其他结果加权分析了
Physiologically based serum ferritin thresholds for iron deficiency in children and non-pregnant women: a US National Health and Nutrition Examination Surveys (NHANES) serial cross-sectional study
在这里插入图片描述
来看一篇jama是怎么做的
Trends in Use of Melatonin Supplements Among US Adults, 1999-2018
在这里插入图片描述
在这里插入图片描述
它也是n没有加权,其他分析均加权了。
在这里插入图片描述
Jama的这篇子刊JAMA Intern Med.(if>20)感觉是先算出加权百分比,然后用百分比来算出校正后的实际人群
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
扯了一大堆,给我感觉就是基线表中n基本上要符合你抽样的实际例数,其他分析都是经过加权分析。
欢迎斧正。

  • 1
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天桥下的卖艺者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值