#Kahoot data processing #Pre-processing: "Race" set to "URM" or "not URM";"opposite questions" reversed; questions 1-12 (on a likert 7 scale) were scaled to fit a 1-5 scale to avoid skewing data with the equation 4*(x-1)/6+1 library(data.table) library(lme4) library(emmeans) library(plyr) library(dplyr) #Load and process data kahoot<-read.table("kahoot.prepost.reversed.csv",sep=",",header=TRUE) questions<-c("General","Test","Social","Communication") kahoot.long<-melt(as.data.table(kahoot),id.vars=names(kahoot)[1:9],measure.vars=patterns(questions),value.name=questions) kahoot.long<-melt(kahoot.long,id.vars=names(kahoot)[1:9],measure.vars=questions) kahoot.long<-subset(kahoot.long,grade!="NA"&value!="NA"&race!=""&firstgen!="") kahoot.long$race<-droplevels(kahoot.long$race) kahoot.long$firstgen<-droplevels(kahoot.long$firstgen) kahoot.long<-subset(kahoot.long,school=="uci"&prepost=="pre") #Analyze UCI data model<-lmer(value~variable+grade+sex+race+firstgen+collegeyear+(1|subject)+(1|section),data=kahoot.long,REML=FALSE) model.nopost<-lmer(value~variable+grade+sex+race+firstgen+collegeyear+(1|subject)+(1|section),data=kahoot.long,REML=FALSE) model.novar<-lmer(value~grade+sex+race+firstgen+collegeyear+(1|subject)+(1|section),data=kahoot.long,REML=FALSE) model.nograde<-lmer(value~variable+sex+race+firstgen+collegeyear+(1|subject)+(1|section),data=kahoot.long,REML=FALSE) model.nosex<-lmer(value~variable+grade+race+firstgen+collegeyear+(1|subject)+(1|section),data=kahoot.long,REML=FALSE) model.norace<-lmer(value~variable+grade+sex+firstgen+collegeyear+(1|subject)+(1|section),data=kahoot.long,REML=FALSE) model.nofirstgen<-lmer(value~variable+grade+sex+race+collegeyear+(1|subject)+(1|section),data=kahoot.long,REML=FALSE) model.nocollegeyear<-lmer(value~variable+grade+sex+race+firstgen+(1|subject)+(1|section),data=kahoot.long,REML=FALSE) anova(model,model.novar) anova(model,model.nograde) anova(model,model.nosex) anova(model,model.norace) anova(model,model.nofirstgen) anova(model,model.nocollegeyear) #sex, grade, variable were significant or marginal. Running refined model using only these and testing interaction strengths. kahoot.long<-melt(as.data.table(kahoot),id.vars=names(kahoot)[1:9],measure.vars=patterns(questions),value.name=questions) kahoot.long<-melt(kahoot.long,id.vars=names(kahoot)[1:9],measure.vars=questions) kahoot.long<-subset(kahoot.long,grade!="NA"&value!="NA") kahoot.long<-subset(kahoot.long,school=="uci"&prepost=="pre") model.refined<-lmer(value~variable+grade+sex+(1|subject)+(1|section)+variable:grade+variable:sex+grade:sex+variable:grade:sex,data=kahoot.long,REML=FALSE) model.refined.nov<-lmer(value~grade+sex+(1|subject)+(1|section)+grade:sex,data=kahoot.long,REML=FALSE) model.refined.nog<-lmer(value~variable+sex+(1|subject)+(1|section)+variable:sex,data=kahoot.long,REML=FALSE) model.refined.nos<-lmer(value~variable+grade+(1|subject)+(1|section)+variable:grade,data=kahoot.long,REML=FALSE) model.refined.novg<-lmer(value~variable+grade+sex+(1|subject)+(1|section)+variable:sex+grade:sex,data=kahoot.long,REML=FALSE) model.refined.novs<-lmer(value~variable+grade+sex+(1|subject)+(1|section)+variable:grade+grade:sex,data=kahoot.long,REML=FALSE) model.refined.nogs<-lmer(value~variable+grade+sex+(1|subject)+(1|section)+variable:grade+variable:sex,data=kahoot.long,REML=FALSE) model.refined.novgs<-lmer(value~variable+grade+sex+(1|subject)+(1|section)+variable:grade+variable:sex+grade:sex,data=kahoot.long,REML=FALSE) anova(model.refined,model.refined.nov) anova(model.refined,model.refined.nog) anova(model.refined,model.refined.nos) anova(model.refined,model.refined.novg) anova(model.refined,model.refined.novs) anova(model.refined,model.refined.nogs) anova(model.refined,model.refined.novgs) # Everything is significant emmeans(model.refined,pairwise~sex|variable|grade) emmeans(model.refined,pairwise~variable*grade*sex) emtrends(model.refined,var="grade",pairwise~sex|variable) test(emtrends(model.refined,var="grade")) #Analyze UAB data kahoot.long<-melt(as.data.table(kahoot),id.vars=names(kahoot)[1:9],measure.vars=patterns(questions),value.name=questions) kahoot.long<-melt(kahoot.long,id.vars=names(kahoot)[1:9],measure.vars=questions) kahoot.long<-subset(kahoot.long,grade!="NA"&value!="NA"&race!=""&firstgen!="") kahoot.long$race<-droplevels(kahoot.long$race) kahoot.long$firstgen<-droplevels(kahoot.long$firstgen) kahoot.uab.long<-subset(kahoot.long,school=="uab"&prepost=="pre") model.uab<-lmer(value~variable+grade+sex+race+firstgen+collegeyear+(1|subject),data=kahoot.uab.long,REML=FALSE) model.uab.novar<-lmer(value~grade+sex+race+firstgen+collegeyear+(1|subject),data=kahoot.uab.long,REML=FALSE) model.uab.nograde<-lmer(value~variable+sex+race+firstgen+collegeyear+(1|subject),data=kahoot.uab.long,REML=FALSE) model.uab.nosex<-lmer(value~variable+grade+race+firstgen+collegeyear+(1|subject),data=kahoot.uab.long,REML=FALSE) model.uab.norace<-lmer(value~variable+grade+sex+firstgen+collegeyear+(1|subject),data=kahoot.uab.long,REML=FALSE) model.uab.nofirstgen<-lmer(value~variable+grade+sex+race+collegeyear+(1|subject),data=kahoot.uab.long,REML=FALSE) model.uab.nocollegeyear<-lmer(value~variable+grade+sex+race+firstgen+(1|subject),data=kahoot.uab.long,REML=FALSE) anova(model.uab,model.uab.novar) anova(model.uab,model.uab.nograde) anova(model.uab,model.uab.nosex) anova(model.uab,model.uab.norace) anova(model.uab,model.uab.nofirstgen) anova(model.uab,model.uab.nocollegeyear) #For UAB, var, sex were significant kahoot.long<-melt(as.data.table(kahoot),id.vars=names(kahoot)[1:9],measure.vars=patterns(questions),value.name=questions) kahoot.long<-melt(kahoot.long,id.vars=names(kahoot)[1:9],measure.vars=questions) kahoot.long<-subset(kahoot.long,value!="NA") kahoot.uab.long<-subset(kahoot.long,school=="uab"&prepost=="pre") model.uab.refined<-lmer(value~variable+sex+variable:sex+(1|subject),data=kahoot.uab.long,REML=FALSE) model.uab.refined.novar<-lmer(value~+sex+(1|subject),data=kahoot.uab.long,REML=FALSE) model.uab.refined.nosex<-lmer(value~variable+(1|subject),data=kahoot.uab.long,REML=FALSE) model.uab.refined.noi<-lmer(value~variable+sex+(1|subject),data=kahoot.uab.long,REML=FALSE) anova(model.uab.refined,model.uab.refined.noi) anova(model.uab.refined,model.uab.refined.novar) anova(model.uab.refined,model.uab.refined.nosex) emmeans(model.uab.refined,pairwise~sex|variable) emmeans(model.uab.refined,pairwise~sex*variable) # Female > male on General, Test, and Communication anxiety #analyze UAB interval data kahoot.interval<-read.table("kahoot.interval.csv",sep=",",header=TRUE) kahoot.interval.long<-melt(kahoot.interval,id.vars=names(kahoot.interval)[1:7]) kahoot.interval.long<-subset(kahoot.interval.long,grade!="NA"&firstgen!=""&race!="") kahoot.interval.long$race<-droplevels(kahoot.interval.long$race) kahoot.interval.long$firstgen<-droplevels(kahoot.interval.long$firstgen) model.interval<-lmer(value~time+variable+grade+sex+race+firstgen+collegeyear+(1|subject),data=kahoot.interval.long,REML=FALSE) model.interval.not<-lmer(value~variable+grade+sex+race+firstgen+collegeyear+(1|subject),data=kahoot.interval.long,REML=FALSE) model.interval.nov<-lmer(value~time+grade+sex+race+firstgen+collegeyear+(1|subject),data=kahoot.interval.long,REML=FALSE) model.interval.nog<-lmer(value~time+variable+sex+race+firstgen+collegeyear+(1|subject),data=kahoot.interval.long,REML=FALSE) model.interval.nos<-lmer(value~time+variable+grade+race+firstgen+collegeyear+(1|subject),data=kahoot.interval.long,REML=FALSE) model.interval.nor<-lmer(value~time+variable+grade+sex+firstgen+collegeyear+(1|subject),data=kahoot.interval.long,REML=FALSE) model.interval.nofg<-lmer(value~time+variable+grade+sex+race+collegeyear+(1|subject),data=kahoot.interval.long,REML=FALSE) model.interval.nocy<-lmer(value~time+variable+grade+sex+race+firstgen+(1|subject),data=kahoot.interval.long,REML=FALSE) anova(model.interval,model.interval.not) anova(model.interval,model.interval.nov) anova(model.interval,model.interval.nog) anova(model.interval,model.interval.nos) anova(model.interval,model.interval.nor) anova(model.interval,model.interval.nofg) anova(model.interval,model.interval.nocy) #not sig: time, sex, race, firstgen, college year; refining w interactions kahoot.interval<-read.table("kahoot.interval.csv",sep=",",header=TRUE) kahoot.interval.long<-melt(kahoot.interval,id.vars=names(kahoot.interval)[1:7]) kahoot.interval.long<-subset(kahoot.interval.long,grade!="NA") model.interval.refined<-lmer(value~variable+grade+variable:grade+(1|subject),data=kahoot.interval.long,REML=FALSE) model.interval.refined.nograde<-lmer(value~variable+(1|subject),data=kahoot.interval.long,REML=FALSE) model.interval.refined.novar<-lmer(value~grade+(1|subject),data=kahoot.interval.long,REML=FALSE) model.interval.refined.nointeract<-lmer(value~variable+grade+(1|subject),data=kahoot.interval.long,REML=FALSE) anova(model.interval.refined,model.interval.refined.nograde) anova(model.interval.refined,model.interval.refined.novar) anova(model.interval.refined,model.interval.refined.nointeract) emmeans(model.interval.refined,pairwise~grade|variable,var="grade",at=list(grade=c(75,95))) emtrends(model.interval.refined,"variable",var="grade") test(emtrends(model.interval.refined,"variable",var="grade")) #Analyze UAB postlecture data kahoot.postlecture<-read.table("kahoot.UABpost.csv",header=TRUE,sep=",") kahoot.postlecture.long<-melt(kahoot.postlecture,id.vars=names(kahoot.postlecture)[1:7]) kahoot.postlecture.long$variable<-relevel(kahoot.postlecture.long$variable,"X4lecture") kahoot.postlecture.long<-subset(kahoot.postlecture.long,race!=""&grade!="NA"&firstgen!=""&value!="NA"&prepost=="post") kahoot.postlecture.long$race<-droplevels(kahoot.postlecture.long$race) kahoot.postlecture.long$firstgen<-droplevels(kahoot.postlecture.long$firstgen) model.postlecture<-lmer(value~variable+grade+sex+firstgen+collegeyear+race+(1|subject),data=kahoot.postlecture.long,REML=FALSE) model.postlecture.nov<-lmer(value~grade+sex+firstgen+collegeyear+race+(1|subject),data=kahoot.postlecture.long,REML=FALSE) model.postlecture.nog<-lmer(value~variable+sex+firstgen+collegeyear+race+(1|subject),data=kahoot.postlecture.long,REML=FALSE) model.postlecture.nos<-lmer(value~variable+grade+firstgen+collegeyear+race+(1|subject),data=kahoot.postlecture.long,REML=FALSE) model.postlecture.nofg<-lmer(value~variable+grade+sex+collegeyear+race+(1|subject),data=kahoot.postlecture.long,REML=FALSE) model.postlecture.nocy<-lmer(value~variable+grade+sex+firstgen+race+(1|subject),data=kahoot.postlecture.long,REML=FALSE) model.postlecture.nor<-lmer(value~variable+grade+sex+firstgen+collegeyear+(1|subject),data=kahoot.postlecture.long,REML=FALSE) anova(model.postlecture,model.postlecture.nov) anova(model.postlecture,model.postlecture.nog) anova(model.postlecture,model.postlecture.nos) anova(model.postlecture,model.postlecture.nofg) anova(model.postlecture,model.postlecture.nocy) anova(model.postlecture,model.postlecture.nor) #variable is significant kahoot.postlecture.long<-melt(kahoot.postlecture,id.vars=names(kahoot.postlecture)[1:7]) kahoot.postlecture.long$variable<-relevel(kahoot.postlecture.long$variable,"X4lecture") kahoot.postlecture.long<-subset(kahoot.postlecture.long,value!="NA"&prepost=="post") model.postlecture.refined<-lmer(value~variable+(1|subject),data=kahoot.postlecture.long,REML=FALSE) emmeans(model.postlecture.refined,dunnett~variable) # Lots more stressful than Kahoot. #Repeat with UCI Post Data kahoot.UCIpost<-read.table("kahoot.UCIpost.csv",header=TRUE,sep=",") kahoot.UCIpost$subject<-as.factor(kahoot.UCIpost$subject) kahoot.UCIpost.long<-melt(kahoot.UCIpost,id.vars=names(kahoot.UCIpost)[1:7]) kahoot.UCIpost.long$variable<-relevel(kahoot.UCIpost.long$variable,"post74") kahoot.UCIpost.long<-subset(kahoot.UCIpost.long,firstgen!=""&value!="NA") kahoot.UCIpost.long$firstgen<-droplevels(kahoot.UCIpost.long$firstgen) model.ucipost<-lmer(value~variable+firstgen+race+sex+grade+(1|section),REML=FALSE,data=kahoot.UCIpost.long) model.ucipost.novar<-lmer(value~firstgen+race+sex+grade+(1|section),REML=FALSE,data=kahoot.UCIpost.long) model.ucipost.nofg<-lmer(value~variable+race+sex+grade+(1|section),REML=FALSE,data=kahoot.UCIpost.long) model.ucipost.nourm<-lmer(value~variable+firstgen+sex+grade+(1|section),REML=FALSE,data=kahoot.UCIpost.long) model.ucipost.nosex<-lmer(value~variable+firstgen+race+grade+(1|section),REML=FALSE,data=kahoot.UCIpost.long) model.ucipost.nograde<-lmer(value~variable+firstgen+race+sex+(1|section),REML=FALSE,data=kahoot.UCIpost.long) anova(model.ucipost,model.ucipost.novar) anova(model.ucipost,model.ucipost.nofg) anova(model.ucipost,model.ucipost.nourm) anova(model.ucipost,model.ucipost.nosex) anova(model.ucipost,model.ucipost.nograde) #variable, college year, firstgen, grade, sex significant; refining and adding all 2-way interactions model.ucipost.refined<-lmer(value~variable+firstgen+sex+grade+variable:firstgen+variable:sex+variable:grade+firstgen:sex+firstgen:grade+sex:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) model.ucipost.refined.nov<-lmer(value~firstgen+sex+grade+firstgen:sex+firstgen:grade+sex:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) model.ucipost.refined.nof<-lmer(value~variable+sex+grade+variable:sex+variable:grade+sex:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) model.ucipost.refined.nos<-lmer(value~variable+firstgen+grade+variable:firstgen+variable:grade+firstgen:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) model.ucipost.refined.nog<-lmer(value~variable+firstgen+sex+variable:firstgen+variable:sex+firstgen:sex+(1|section),data=kahoot.UCIpost.long,REML=FALSE) model.ucipost.refined.novf<-lmer(value~variable+firstgen+sex+grade+variable:sex+variable:grade+firstgen:sex+firstgen:grade+sex:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) model.ucipost.refined.novs<-lmer(value~variable+firstgen+sex+grade+variable:firstgen+variable:grade+firstgen:sex+firstgen:grade+sex:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) model.ucipost.refined.novg<-lmer(value~variable+firstgen+sex+grade+variable:firstgen+variable:sex+firstgen:sex+firstgen:grade+sex:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) model.ucipost.refined.nofs<-lmer(value~variable+firstgen+sex+grade+variable:firstgen+variable:sex+variable:grade+firstgen:grade+sex:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) model.ucipost.refined.nofg<-lmer(value~variable+firstgen+sex+grade+variable:firstgen+variable:sex+variable:grade+firstgen:sex+sex:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) model.ucipost.refined.nosg<-lmer(value~variable+firstgen+sex+grade+variable:firstgen+variable:sex+variable:grade+firstgen:sex+firstgen:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) anova(model.ucipost.refined,model.ucipost.refined.nov) anova(model.ucipost.refined,model.ucipost.refined.nof) anova(model.ucipost.refined,model.ucipost.refined.nos) anova(model.ucipost.refined,model.ucipost.refined.nog) anova(model.ucipost.refined,model.ucipost.refined.novf) anova(model.ucipost.refined,model.ucipost.refined.novs) anova(model.ucipost.refined,model.ucipost.refined.novg) anova(model.ucipost.refined,model.ucipost.refined.nofs) anova(model.ucipost.refined,model.ucipost.refined.nofg) anova(model.ucipost.refined,model.ucipost.refined.nosg) #not sig: vf, fg #remaining 3ways: vsg model.ucipost.refined.3way<-lmer(value~variable+firstgen+sex+grade+variable:sex+variable:grade+firstgen:sex+sex:grade+variable:sex:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) model.ucipost.refined.no3way<-lmer(value~variable+firstgen+sex+grade+variable:sex+variable:grade+firstgen:sex+sex:grade+(1|section),data=kahoot.UCIpost.long,REML=FALSE) anova(model.ucipost.refined.3way,model.ucipost.refined.no3way) #3way not significant, final model is model.refined.no3way emmeans(model.ucipost.refined.no3way,pairwise~firstgen|sex) emmeans(model.ucipost.refined.no3way,pairwise~sex|firstgen) emmeans(model.ucipost.refined.no3way,pairwise~sex*firstgen) emmeans(model.ucipost.refined.no3way,dunnett~grade*variable) emmeans(model.ucipost.refined.no3way,dunnett~(variable|sex)*grade) emmeans(model.ucipost.refined.no3way,dunnett~(sex|variable)*grade) emtrends(model.ucipost.refined.no3way,var="grade",dunnett~variable) test(emtrends(model.ucipost.refined.no3way,var="grade",~variable)) emtrends(model.ucipost.refined.no3way,var="grade",pairwise~sex) test(emtrends(model.ucipost.refined.no3way,var="grade",~sex)) #make demographic table kahoot %>% group_by(section,prepost) %>% count(sex) kahoot %>% group_by(section,prepost) %>% count(race) kahoot %>% group_by(section,prepost) %>% count(firstgen) ddply(subset(kahoot,grade!="NA"),~section*prepost,summarise,medgrade=median(grade),meangrade=mean(grade),sdgrade=sd(grade),length=length(prepost),medyear=median(collegeyear),meanyear=mean(collegeyear),sdyear=sd(collegeyear))