在SCI文章中,交互效应表格(通常是表五)能为文章锦上添花,增加文章的信服力,增加结果的可信程度,还能进行数据挖掘。什么是亚组,通常就是特殊类型人群,比如男女,种族等,就是说你的数据放入特殊人群中结果还可靠吗?如果在各个特殊人群中,你的结果很稳定,说明你的结论很可靠。如果亚组的结论和你的数据数据结论相反,你可以拿来做个新论题。还可以比较不同亚组之间有无区别,比如做了心脏支架和没做支架的区别,可以发现很多新思路,易于数据挖掘
在既往文章《NHANES数据(复杂调查数据)亚组交互函数1.4尝鲜版(P for interaction)发布—用于一键生成交互效应表》中,咱们发布了svy.scitb5函数,反响还不错,基本没啥大问题,有个小问题是下载到的NHANES数据需要整理一下,不能直接拿来分析,比如像这种带连接符的数据
不单是svy.scitb5识别不出来,survey包也是识别不出来,如果你不整理直接做的话,首先survey包就会报错,下面这个报错已经有很多粉丝私信问我了
Error in svyglm.survey.design(formula(fml), family = “quasibinomial”, :
all variables must be in design= argument
所以有些人看到这个报错会有点蒙,明明变量已经在调查函数里面了,为什么还是显示all variables must be in design= argument,这是因为survey包的调查函数识别不出来你这个变量,所以做不出来,所以咱们不要偷懒,把它改成数字就轻松搞定了。
言归正传,继续介绍,请看视频
代码+视频--NHANES数据(复杂调查数据)亚组交互函数1.4尝鲜版(P for interaction)发布---用于一键生成交互效应表
附代码
library(survey)
bc<-read.csv("E:/r/test/subtext.csv",sep=',',header=TRUE)
bc <- na.omit(bc)
str(bc)
# SEQN:序列号,RIAGENDR, # 性别, RIDAGEYR, # 年龄,RIDRETH1, # 种族,DMDMARTL, # 婚姻状况,
# WTINT2YR,WTMEC2YR, # 权重,SDMVPSU, # psu,SDMVSTRA,# strata,LBDGLUSI, #血糖mmol表示,
# LBDINSI, #胰岛素( pmmol/L),PHAFSTHR #餐后血糖,LBXGH #糖化血红蛋白,SPXNFEV1,
# #FEV1:第一秒用力呼气量,SPXNFVC #FVC:用力肺活量,ml(估计肺容量),LBDGLTSI #餐后2小时血糖,
# factor.FVC是我把肺活量分为了2分类,方便用于测试。
bc$DMDMARTL<-ifelse(bc$DMDMARTL==1,1,0)
bc$RIAGENDR<-as.factor(bc$RIAGENDR)
bc$RIDRETH1<-as.factor(bc$RIDRETH1)
bc$DMDMARTL<-as.factor(bc$DMDMARTL)
bc$factor.FVC<-as.factor(bc$factor.FVC)
####
bcSvy2<- svydesign(ids = ~ SDMVPSU, strata = ~ SDMVSTRA, weights = ~ WTMEC2YR,
nest=TRUE,data = bc)
cov1<-c("DMDMARTL","RIDRETH1","RIDAGEYR","LBXGH")
Interaction<-c("DMDMARTL","RIDRETH1")
source("E:/r/test/1.6svyscitb5.R")
out<-svy.scitb5(data=bc,x="RIAGENDR",y="factor.FVC",Interaction=Interaction,cov = cov1,family="svyglm",
svydstr=bcSvy2) #x分类,Y分类
out1<-svy.scitb5(data=bc,x="RIAGENDR",y="factor.FVC",Interaction=Interaction,cov = cov1,family="svyglm",
svydstr=bcSvy2,dec=5,pdec = 5,p.intervaue = 5) #x分类,Y分类
plotforest(out)
out<-svy.scitb5(data=bc,x="LBDINSI",y="SPXNFVC",Interaction=Interaction,cov = cov1,family="svyglm",
svydstr=bcSvy2) #x连续,Y连续
out<-svy.scitb5(data=bc,x="LBXGH",y="SPXNFVC",Interaction=Interaction,cov = cov1,family="svyglm",
svydstr=bcSvy2) #x连续,Y连续
out<-svy.scitb5(data=bc,x="LBDINSI",y="factor.FVC",Interaction=Interaction,cov = cov1,family="svyglm"
,svydstr=bcSvy2) #x连续,Y分类
plotforest(out)
out<-svy.scitb5(data=bc,x="LBDINSI",y="factor.FVC",Interaction=Interaction,cov = cov1,family="svyglm",
svydstr=bcSvy2) #x连续,Y分类
############ method方法比较
out<-svy.scitb5(data=bc,x="LBDINSI",y="factor.FVC",Interaction=Interaction,cov = cov1,family="svyglm",method="Wald",
svydstr=bcSvy2) #x连续,Y分类
out<-svy.scitb5(data=bc,x="LBDINSI",y="factor.FVC",Interaction=Interaction,cov = cov1,family="svyglm",method="LRT",
svydstr=bcSvy2) #x连续,Y分类
##########
out<-svy.scitb5(data=bc,x="RIAGENDR",y="factor.FVC",Interaction=Interaction,cov = cov1,family="svyglm",
svydstr=bcSvy2,dec = 5,pdec = 3) #x分类,Y分类
out<-svy.scitb5(data=bc,x="RIAGENDR",y="factor.FVC",Interaction=Interaction,cov = cov1,family="svyglm",pvalue = F,
svydstr=bcSvy2,dec = 5,pdec = 3) #x分类,Y分类
out<-svy.scitb5(data=bc,x="LBDINSI",y="factor.FVC",Interaction=Interaction,cov = cov1,family="svyglm",pvalue = F
,svydstr=bcSvy2) #x连续,Y分类
out<-svy.scitb5(data=bc,x="RIAGENDR",y="factor.FVC",Interaction=Interaction,cov = cov1,family="svyglm",pvalue = F,
svydstr=bcSvy2,dec = 5,pdec = 5,p.intervaue = 5) #x分类,Y分类
plotforest(out)
需要获取svy.scitb5函数1.6版本版本的可以看这里
NHANES数据(复杂调查数据)亚组交互函数1.6尝鲜版(P for interaction)发布—用于一键生成交互效应表