目录:
1epiDisplay包多重线性回归模型整理函数参数说明
2实践操作epiDisplay包整理数据
3建立单因素模型验证粗模型结果
4多因素模型验证校正模型结果
1.epiDisplay包多重线性回归模型整理函数参数说明:
epiDisplay包种的regress.display函数可以用于整理多重线性回归的结果整理,其具体参数解释如下:
regress.display(regress.model=fit1, #填写线性回归模型
alpha = 0.05,#检验水准,默认为0.05
crude = T, #是否展示粗模型置信区间,默认为F,即不显示粗模型置信区间,T代表显示粗模型置信区间
crude.p.value = T,#是否展示粗模型p值,默认为F,即不显示粗模型p值,T代表显示粗模型p值
decimal = 3, #整理的数据保留小数位,一般p值会多一位,而置信区间是指定的位数
simplified =F) #结果进行合并,F代表合并置信区间,T代表不合并置信区间
2实践操作epiDisplay包整理数据
目的:以性别、年龄、省份、城乡、婚姻、文化程度、个人年收入为自变量;收缩压为因变量。采用多重线性回归模型进行分析收缩压的影响因素。
变量赋值表
变量 | 变量类型 | 赋值 | 属于 |
性别 | 2分类 | 1=男;2=女 | 自变量 |
年龄 | 连续 | | |
省份 | 无序多分类 | 21/23/32/37/41/42/43/45/52 | |
城乡 | 2分类 | 1=城市,2=农村 | |
婚姻 | 无序多分类 | 1~5 | |
文化程度 | 有序多分类 | 1~5 | |
个人年收入 | 连续 | | |
收缩压 | 连续 | | 因变量 |
#导入数据和数据处理
.libPaths()#查看R包位置
.libPaths("D:/Program File/R/R-4.3.2/library")#定义包安装位置
setwd("E:/02学习/经验/01医学统计/回归模型大荟萃-多重线性回归")#设置工作空间
getwd()#加载工作空间
library(readxl)
mydata<-read_excel("多重线性回归.xlsx")
#分类变量因子化
a<-c("性别","省份","城乡","婚姻")#填入需要转化的变量
mydata[,a]<-lapply(mydata[,a],as.factor)#转因子
#设置分类变量的参照组
mydata$性别<-relevel(mydata$性别, ref="1")
mydata$省份<-relevel(mydata$省份, ref="21")
mydata$城乡<-relevel(mydata$城乡, ref="1")
mydata$婚姻<-relevel(mydata$婚姻, ref="1")
#1)正常模型的构建
fit1<-lm(收缩压~性别+年龄+省份+城乡+婚姻+文化程度+个人年收入,
data=mydata)
fit1
summary(fit1)
解释:R中这样的结果,既没有置信区间,也不符合三线表整理数据的格式,因此,需要我采用epiDisplay包去进一步整理以上数据成为符合三线表格式的数据
#)2epiDisplay包整理数据
library(epiDisplay)
result<-regress.display(regress.model=fit1,
alpha = 0.05,
crude = T,
crude.p.value = T,
decimal = 3,
simplified =F)
table<-result[["table"]]
table<-print(table)
write.csv(table,file="table.csv")
解释:上述的结果直接给出了粗模型(单因素)和校正模型(多因素)的结果整理,既包含了置信区间,又包含了p值。
3建立单因素模型验证粗模型结果
#单因素模型
fit1<-lm(收缩压~性别,
data=mydata)
summary(fit1)
#单因素模型
fit1<-lm(收缩压~年龄,
data=mydata)
summary(fit1)
#单因素模型
data=mydata)
summary(fit1)
解释:可以观察到单因素的结果与用epiDisplay包直接计算粗模型的结果不太一样,有略微的差异,具体原因不详。
4多因素模型验证校正模型结果
解释:可以观察到多因素的结果与用epiDisplay包直接计算粗模型的结果是一致的。
总结:epiDisplay包整理的校正模型结果是正确的,粗模型结果不知是不是单因素的结果,反正和真实的结果是有略微的差异的。