之前的文章给大家写了两个连续变量的交互作用,今天给大家写写比较常见,也是比较简单的:
一个连续变量和一个分类变量的交互。
具体的案列为:我们在研究GPA的影响因素时,我们想看一看学习态度和性别的交互作用,在这个案列中,学习态度为连续变量,性别为分类变量
数据模拟
n<-250X<-rnorm(n,2.75,.75)G<-sample(rep(c(0,1),N),N,replace=FALSE)Y<-.7*X+.3*G+2*X*G+rnorm(n,sd=5)Y=(Y-min(Y))/(max(Y)-min(Y))*4GPA.Data.2<-data.frame(GPA=Y,Work.Ethic=X,Gender=G)GPA.Data.2$Work.Ethic.C<-scale(GPA.Data$Work.Ethic,center=TRUE,scale=FALSE)运行上面的代码我们就模拟出来的今天的数据集,但是我们知道性别是个二分类变量,我们是用0,1编码的性别,所以只用将其转化为因子就可以了:
GPA.Data$Gender.F <- factor(GPA.Data$Gender, level=c(0,1), labels=c("Male","Female"))做回归
数据模拟出来了,哑变量也生成好了之后我们就可以做回归分析了,依然是跑两个模型,一个是带交互作用的,另外一个不带交互作用:
GPA.Model.1<- lm(GPA~Work.Ethic.C+Gender.F, GPA.Data) GPA.Model.2<- lm(GPA~Work.Ethic.C*Gender.F, GPA.Data) library(stargazer) stargazer(GPA.Model.1, GPA.Model.2,type="html", column.labels = c("Main Effects","Interaction"), intercept.bottom =FALSE, single.row=FALSE, notes.append =FALSE, header=FALSE,out="test.html")运行上面的代码就可以出来两个模型结果如下:
可以看到模型的输出中,交互项是有意义的。接下来我们开始画简单斜率图。
简单斜率图
首先我们得按自变量的水平将我们的交互作用模型再次拟合,给相应的系数取均值:
library(effects)交互作用Inter.GPA.2<- effect(Work.Ethic.C*Gender.F, GPA.Model.2, xlevels=list(Work.Ethic.C = c(-1.1,0,1.1)), se=TRUE, confidence.level=.95, typical=mean) Inter.GPA.2<-as.data.frame(Inter.GPA.2)运行上面的代码就得到了相应的系数,然后我们给我们的系数加上标签就可以用ggplot2画出简单斜率图:
Inter.GPA.2$Work.Ethic<-factor(Inter.GPA.2$Work.Ethic.C, levels=c(-1.1, 0, 1.1), labels=c("Poor Worker","Average Worker","Hard Worker")) Inter.GPA.2$Gender<-factor(Inter.GPA.2$Gender.F, levels=c("Male","Female"))library(ggplot2) Plot.GPA.2<-ggplot(data=Inter.GPA.2,aes(x=Work.Ethic,y=fit,group=Gender))+coord_cartesian(ylim=c(0,4))+geom_line(size=2,aes(color=Gender))+ylab("GPA")+xlab("WorkEthic")+ggtitle("WorkEthicandGenderasPredictorsofGPA")+theme_bw()+theme(panel.grid.major=element_blank(),panel.grid.minor=element_blank())+scale_fill_grey()Plot.GPA.2以上就是我们最常见的交互作用类型的简单斜率图的画法。
小结
今天给大家写了分类变量和连续变量的交互及其简单斜率图的做法,之后会给大家写双分类变量交互。感谢大家耐心看完。发表这些东西的主要目的就是督促自己,希望大家关注评论指出不足,一起进步。内容我都会写的很细,用到的数据集也会在原文中给出链接,你只要按照文章中的代码自己也可以做出一样的结果,一个目的就是零基础也能懂,因为自己就是什么编程基础没有从零学Python和R的,加油。数据分析问题咨询,代处理请私信。
(站外链接发不了,请关注后私信回复数据链接获取本头条号所有使用数据)
往期内容:
特别声明:文章来源用户上传并发布,本站只提供信息存储服务,不拥有所有权,内容仅供参考。