exp4=read.csv('./Experiment4.csv') FMdispList=c(0,1) l=length(FMdispList) col1List=c(rgb(0.6,.6,.6),rgb(0.6,.6,.6),rgb(0.6,.6,.6),rgb(0.6,.6,.6)) col2List=c(rgb(1,0,0),rgb(1,0,0),rgb(1,0,0),rgb(1,0,0)) hitsCross=matrix(nrow=l,ncol=1) hitsUnc=matrix(nrow=l,ncol=1) numCross=matrix(nrow=l,ncol=1) numUnc=matrix(nrow=l,ncol=1) conIntCross=matrix(nrow=l,ncol=3) conIntUnc=matrix(nrow=l, ncol=3) indivC=c(1,2,3) indivU=c(1,2,3) for(j in 1:length(FMdispList)){ FMdisp_ind=FMdispList[j] col1=col1List[j] col2=col2List[j] hitsCross[j,1]=sum(subset(exp4, FMdisp==FMdisp_ind&EMdisp==1, na.rm=TRUE)$Presp) numCross[j,1]=length(subset(exp4, FMdisp==FMdisp_ind&EMdisp==1, na.rm=TRUE)$Presp) hitsUnc[j,1]=sum(subset(exp4, FMdisp==FMdisp_ind&EMdisp==0, na.rm=TRUE)$Presp) numUnc[j,1]=length(subset(exp4, FMdisp==FMdisp_ind&EMdisp==0, na.rm=TRUE)$Presp) conIntCross[j,1:3]=binconf(hitsCross[j],numCross[j]) conIntUnc[j,1:3]=binconf(hitsUnc[j],numUnc[j]) for(i in 1:max(exp4$Animal, na.rm=TRUE)){ indivC[i]=mean(subset(exp4, FMdisp==FMdisp_ind&EMdisp==1&Animal==i, na.rm=TRUE)$Presp) indivU[i]=mean(subset(exp4, FMdisp==FMdisp_ind&EMdisp==0&Animal==i, na.rm=TRUE)$Presp) } df2=data.frame(Response=c(indivC,indivU),EMdisp=rep(c("Crossed", "Uncrossed"), each=max(exp4$Animal,na.rm=TRUE)),Animal=rep(1:max(exp4$Animal, na.rm=TRUE)),2) g=ggplot()+geom_line(data=df2,aes(x=EMdisp, y=Response,group=Animal), colour=col1, size=1.2)+geom_point(data=df2,aes(x=EMdisp, y=Response,group=Animal),colour=col1, size=3) cComb=mean(subset(exp4, FMdisp==FMdisp_ind&EMdisp==1, na.rm=TRUE)$Presp) ucComb=mean(subset(exp4, FMdisp==FMdisp_ind&EMdisp==0, na.rm=TRUE)$Presp) y=c(cComb,ucComb); minC=conIntCross[j,2] minU=conIntUnc[j,2] maxC=conIntCross[j,3] maxU=conIntUnc[j,3] min=c(minC,minU) max=c(maxC, maxU) df3=data.frame(Response=y,EMdisp=c("Crossed", "Uncrossed"),Animal=rep(max(exp4$Animal,na.rm=TRUE)+1),min,max) output=g+geom_line(data=df3, aes(x=EMdisp, y=Response,group=Animal),colour=col2, size=1.2)+geom_point(data=df3,aes(x=EMdisp, y=Response,group=Animal),colour=col2, size=3)+ylim(0, 1)+geom_errorbar(data=df3,aes(ymin=min, ymax=max, x=EMdisp), width=.05, size=1, colour=col2) output=output+labs(y = "Probability of Response") output=output+ theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), axis.line = element_line(colour = "black")) output=output+theme(axis.title.y = element_text(margin = margin(t = 0, r = 10, b = 0, l = 0))) output=output+theme(axis.title.x = element_text(margin = margin(t = 10, r = 0, b = 0, l = 0))) print(output) }