使用来自全国健康访谈调查的数据,我希望使用逻辑回归分析各种人口统计因素对预测患有高血压的概率的平均边际效应。为了澄清,通过平均边际效应,我的意思是我想计算每个 X 的平均值的边际效应(如 STATA 输出)。
我的问题是我有二进制和连续自变量,但从我读过的内容来看,以它们的平均值评估二进制变量是没有意义的,因为它不是 0 就是 1。我不知道如何进行回归运行,我可以在其中评估连续变量的平均值,而不是二进制变量。这是我到目前为止的代码。
#Here I create a data frame of the means of the continuous variables
mean_df=df %>% select(c(AGE,BMICALC,FAMSIZE,YEARSONJOB,HOURSWRK)) %>% summarise_all(mean)
#here is my regression, variables here not in the line of code above are binary
logit_margin_diabetes <- glm(DIABETES~scale(AGE)+scale(IMMIGRANT)+scale(HOURSWRK)+scale(BELOW_TWICE_POVERTY)
+scale(BMICALC)+scale(FEMALE)+scale(FAMSIZE)+scale(EDUC_1)+scale(EDUC_2)+scale(EDUC_3)+
scale(EDUC_4)+scale(SMOKE)+scale(MARRIED)+scale(HISP)+scale(AFR_AM)+scale(WHITE), data = df,family="binomial")
#This is the stage where I want to apply the logit so it is evaluated at the means of the continuous variables. But I don't know what to do about the binary variables
marg_mean<-margins(logit_margin_diabetes,data=mean_df)
summary(marg_mean)
抱歉,我很难产生和 MRE,因为我不知道 R 中的数据集有这种信息。但如果有人能提供任何建议,将不胜感激!谢谢。
这是根据下面的评论修改后的输出。但我也希望输出显示 SE、AME 和 p 值
margins(logit_margin, at=list(AGE=35.93349,BMICALC=26.90704, FAMSIZE=2.495413, YEARSONJOB=4.538336,
HOURSWRK=32.53768,IMMIGRANT=1,
BELOW_TWICE_POVERTY=1, FEMALE=1,
EDUC_1=1,EDUC_2=1,EDUC_3=1,EDUC_4=1,
SMOKE=1,MARRIED=1,HISP=1,
AFR_AM=1,WHITE=1))
summary(marg_mean)
这是我在运行 summary(marg_mean) 后看到的新输出的照片