"backup"=backup.byday.2, "monitor"=monitor.byday.2, "adapt"=adapt.byday.2, "smm"=smm.byday.2, .id="measure") ggplot(merged.byday.2, aes(x=Day,y=mean,group=measure,color=measure)) + geom_point() + geom_line() + facet_wrap(~Rater,ncol=5) + theme_bw() + xlim(0,120) + ylim(0,10) + ggtitle(label="Ratings by each team member of other members: SIRIUS21") ggplot(merged.byday.2, aes(x=Day,y=sd,group=measure,color=measure)) + geom_point() + geom_line() + facet_wrap(~Rater,ncol=5) + theme_bw() + xlim(0,120) + ylim(0,10) + ggtitle(label="Variability of ratings provided by each rater (s.d. across roles rated; SIRIUS21)") merged.2 <- merged.byday.2 %>% group_by(measure,Rater) %>% summarize(mean=mean(mean,na.rm=T), sd=mean(sd,na.rm=T)) labs <- c("Trust", "Team\n orientation", "Communications","Leadership","Backup\n behavior","Performance\nmonitoring","Adaptability","Shared\n mental model") labs <- factor(labs,levels=labs) merged.2$Measure<- labs[factor(merged.3$measure,levels=c("trust","torient","comm","ls","backup", "monitor","adapt","smm" ))] ggplot(merged.2,aes(x=Measure,y=mean,group=Rater,color=Rater)) +geom_line(size=1.5) +geom_point(size=3.5) + theme_minimal() + scale_y_continuous(limits=c(0,10))+ theme(axis.text.x=element_text(size=12)) + labs(title="Teamwork ratings by each team member about others, averaged over time",caption="CDR=Commander, FE=Flight Engineer, MS1/MS3=Mission Specialist, CS=Surgeon, MCC=Mission Control") ggplot(merged.2,aes(x=Measure,y=sd,group=Rater,color=Rater)) +geom_line(size=1.5) +geom_point(size=3.5) + theme_minimal() + scale_y_continuous(limits=c(0,5))+ theme(axis.text.x=element_text(size=12)) + labs(title="Mean variability of teamwork ratings by each team member, averaged over time", caption="CDR=Commander, FE=Flight Engineer, MS1/MS3=Mission Specialist, CS=Surgeon, MCC=Mission Control") merged.1 <- merged.byday %>% group_by(measure,rated) %>% summarize(mean=mean(mean,na.rm=T), sd=mean(sd,na.rm=T)) labs <- c("Trust", "Team\n orientation", "Communications","Leadership","Backup\n behavior","Performance\nmonitoring","Adaptability","Shared\n mental model") labs <- factor(labs,levels=labs) merged.1$Measure<- labs[factor(merged.1$measure,levels=c("trust","torient","comm","ls","backup", "monitor","adapt","smm" ))] ggplot(merged.1,aes(x=Measure,y=mean,group=rated,color=rated)) +geom_line(size=1.5) +geom_point(size=3.5) + theme_minimal() + scale_y_continuous(limits=c(0,10))+ theme(axis.text.x=element_text(size=12)) + labs(title="Teamwork ratings made about each team member by others, averaged over time",caption="CDR=Commander, FE=Flight Engineer, MS1/MS3=Mission Specialist, CS=Surgeon, MCC=Mission Control") ggplot(merged.1,aes(x=Measure,y=sd,group=rated,color=rated)) +geom_line(size=1.5) +geom_point(size=3.5) + theme_minimal() + scale_y_continuous(limits=c(0,5))+ theme(axis.text.x=element_text(size=12)) + labs(title="Mean variability of teamwork ratings by about each team member by others, averaged over time", caption="CDR=Commander, FE=Flight Engineer, MS1/MS3=Mission Specialist, CS=Surgeon, MCC=Mission Control") trust.byday <- r.trust.long %>% group_by(Day,TaskType) %>% summarize(mean=mean(value,na.rm=T), sd=sd(value,na.rm=T)) torient.byday <- r.torient.long %>% group_by(Day,TaskType) %>% summarize(mean=mean(value,na.rm=T), sd=sd(value,na.rm=T)) comm.byday <- r.comm.long %>% group_by(Day,TaskType) %>% summarize(mean=mean(value,na.rm=T), sd=sd(value,na.rm=T)) ls.byday <- r.ls.long %>% group_by(Day,TaskType) %>% summarize(mean=mean(value,na.rm=T), sd=sd(value,na.rm=T)) backup.byday <- r.backup.long %>% group_by(Day,TaskType) %>% summarize(mean=mean(value,na.rm=T), sd=sd(value,na.rm=T)) monitor.byday <- r.monitor.long %>% group_by(Day,TaskType) %>% summarize(mean=mean(value,na.rm=T), sd=sd(value,na.rm=T)) adapt.byday <- r.adapt.long %>% group_by(Day,TaskType) %>% summarize(mean=mean(value,na.rm=T), sd=sd(value,na.rm=T)) smm.byday <- r.smm.long %>% group_by(Day,TaskType) %>% summarize(mean=mean(value,na.rm=T), sd=sd(value,na.rm=T)) all.byday.sd<- data.frame(trust.byday[,1:3], trust=trust.byday$sd, torient=torient.byday$sd, comm=comm.byday$sd, ls=ls.byday$sd, backup=backup.byday$sd, monitor=monitor.byday$sd, adapt=adapt.byday$sd, smm=smm.byday$sd ) all.byday.mean <- data.frame(trust.byday[,1:3], trust=trust.byday$mean, torient=torient.byday$mean, comm=comm.byday$mean, ls=ls.byday$mean, backup=backup.byday$mean, monitor=monitor.byday$mean, adapt=adapt.byday$mean, smm=smm.byday$mean ) par(mfrow=c(1,1)) tmp <- all.byday.mean matplot(tmp$Day,tmp[,c(4:11)],col=2:9, type="b",lty=1,pch=16,cex=2.5, ylab="Mean rating across rating categories",xlab="Mission day",xlim=c(0,120),ylim=c(0,11), main="Mean ratings over SIRIUS-21 Mission") matplot(tmp$Day,tmp[,c(4:11)],col="black", type="b",lty=1,pch=c("T","O","C","L","B","M","A","S"),cex=.85,add=T) text(tmp$Day,105,tmp$Delay) grid() legend(80,5,c("T: Trust","O: Team orientation", "C: Communication","L: Leadership","B: Backup","M: Performance monitoring", "A: Adaptability","S: Shared mental model"), cex=.8,col=2:9,pch=16,pt.cex=1.2) tmp <- all.byday.sd matplot(tmp$Day,tmp[,c(4:11)],col=2:9, type="b",lty=1,pch=16,cex=2.5, ylab="SD of rating across rating categories",xlab="Mission day",xlim=c(0,120),ylim=c(0,6), main="SD of ratings over SIRIUS-21 Mission") matplot(tmp$Day,tmp[,c(4:11)],col="black", type="b",lty=1,pch=c("T","O","C","L","B","M","A","S"),cex=.85,add=T) text(tmp$Day,55,tmp$Delay) grid() legend(20,6,c("T: Trust","O: Team orientation", "C: Communication","L: Leadership","B: Backup","M: Performance monitoring", "A: Adaptability","S: Shared mental model"), cex=.8,col=2:9,pch=16,pt.cex=1.2) library(corrplot) labels <- c("CDR","FE","MS1","MS3","CS","MCC") r.trust <- select(ratings,Day,TaskType,Rater, starts_with("Trust")) par(mfrow=c(2,4),xpd=NA) cc1 <-cor(select(ratings,starts_with("Trust")), use="pairwise.complete",method='spearman') colnames(cc1) <- rownames(cc1) <- labels cc2 <-cor(select(ratings,starts_with("Torient")), use="pairwise.complete",method='spearman') colnames(cc2) <- rownames(cc2) <- labels cc3 <-cor(select(ratings,starts_with("Comm")), use="pairwise.complete",method='spearman') colnames(cc3) <- rownames(cc3) <- labels cc4 <-cor(select(ratings,starts_with("LS")), use="pairwise.complete",method='spearman') colnames(cc4) <- rownames(cc4) <- labels cc5 <-cor(select(ratings,starts_with("Backup")), use="pairwise.complete",method='spearman') colnames(cc5) <- rownames(cc5) <- labels cc6 <-cor(select(ratings,starts_with("Monitor")), use="pairwise.complete",method='spearman') colnames(cc6) <- rownames(cc6) <- labels cc7 <-cor(select(ratings,starts_with("Adapt")), use="pairwise.complete",method='spearman') colnames(cc7) <- rownames(cc7) <- labels cc8 <-cor(select(ratings,starts_with("SMM")), use="pairwise.complete",method='spearman') colnames(cc8) <- rownames(cc8) <- labels corrplot(cc1,title =paste("SIRIUS 21 Mission","Trust"), order="orig",mar=c(0,0,5,1),type="upper",is.corr=T,diag=F) corrplot(cc2,title="Team orientation",order="orig",mar=c(0,0,5,1),type="upper",is.corr=T,diag=F) corrplot(cc3,main="Communication",order="orig",mar=c(0,0,5,1),type="upper",is.corr=T,diag=F) corrplot(cc4,main="Leadership",order="orig",mar=c(0,0,5,1),type="upper",is.corr=T,diag=F) corrplot(cc5,main="Backup",order="orig",mar=c(0,0,5,1),type="upper",is.corr=T,diag=F) corrplot(cc6,main="Performance monitoring",order="orig",mar=c(0,0,5,1),type="upper",is.corr=T,diag=F) corrplot(cc7,main="Adaptability",order="orig",mar=c(0,0,5,1),type="upper",is.corr=T,diag=F) corrplot(cc8,main="Shared MM",order="orig",mar=c(0,0,5,1),type="upper",is.corr=T,diag=F) cat("\n\n\\pagebreak\n") par(mfrow=c(1,1)) avg <-(cc1+cc2+cc3+cc4+cc5+cc6+cc7+cc8)/8 rownames(avg) <- colnames(avg) <- labels par(mar=c(2,5,20,2)) corrplot(avg, main=paste("Overall similarity of ratings about each role\n(SIRIUS 21 Mission)",sep=""),order="orig",mar=c(0,0,5,1), is.corr=T,diag=F,type="upper") cat("\n\n\\pagebreak\n") library(corrplot) library(reshape2) labels <- c("CDR","FE","MS1","MS2","MS3","CS","MCC") ##these are the ratings provided by each rater/role about each rater. Both include MCC. r1 <-select(ratings,Day,Rater,starts_with("Trust")) r2 <-select(ratings,Day,Rater,starts_with("Torient")) r3 <-select(ratings,Day,Rater,starts_with("Comm")) r4 <-select(ratings,Day,Rater,starts_with("LS")) r5 <-select(ratings,Day,Rater,starts_with("Backup")) r6 <-select(ratings,Day,Rater,starts_with("Monitor")) r7 <-select(ratings,Day,Rater,starts_with("Adapt")) r8 <-select(ratings,Day,Rater,starts_with("SMM")) colnames(r1)<- c("Day","Role",labels) colnames(r2)<- c("Day","Role",labels) colnames(r3)<- c("Day","Role",labels) colnames(r4)<- c("Day","Role",labels) colnames(r5)<- c("Day","Role",labels) colnames(r6)<- c("Day","Role",labels) colnames(r7)<- c("Day","Role",labels) colnames(r8)<- c("Day","Role",labels) ##now, transform these to r1.t <- melt(r1,id.var=c("Day","Role")) %>% group_by(Role) %>% dcast(Day+variable~Role) r2.t <- melt(r2,id.var=c("Day","Role")) %>% group_by(Role) %>% dcast(Day+variable~Role) r3.t <- melt(r3,id.var=c("Day","Role")) %>% group_by(Role) %>% dcast(Day+variable~Role) r4.t <- melt(r4,id.var=c("Day","Role")) %>% group_by(Role) %>% dcast(Day+variable~Role) r5.t <- melt(r5,id.var=c("Day","Role")) %>% group_by(Role) %>% dcast(Day+variable~Role) r6.t <- melt(r6,id.var=c("Day","Role")) %>% group_by(Role) %>% dcast(Day+variable~Role) r7.t <- melt(r7,id.var=c("Day","Role")) %>% group_by(Role) %>% dcast(Day+variable~Role) r8.t <- melt(r8,id.var=c("Day","Role")) %>% group_by(Role) %>% dcast(Day+variable~Role) cc1.t <- cor(r1.t[,3:7],use="pairwise.complete",method="spearman") cc2.t <- cor(r2.t[,3:7],use="pairwise.complete",method="spearman") cc3.t <- cor(r3.t[,3:7],use="pairwise.complete",method="spearman") cc4.t <- cor(r4.t[,3:7],use="pairwise.complete",method="spearman") cc5.t <- cor(r5.t[,3:7],use="pairwise.complete",method="spearman") cc6.t <- cor(r6.t[,3:7],use="pairwise.complete",method="spearman") cc7.t <- cor(r7.t[,3:7],use="pairwise.complete",method="spearman") cc8.t <- cor(r8.t[,3:7],use="pairwise.complete",method="spearman") if(1) { par(mfrow=c(2,4),xpd=F) corrplot(cc1.t,title =paste("SIRIUS-21 Mission","Trust"),order="orig",mar=c(0,0,1,1),type="upper",is.corr=T,diag=F) corrplot(cc2.t,title="Team orientation",order="orig",mar=c(0,0,1,1),type="upper",is.corr=T,diag=F) corrplot(cc3.t,main="Communication",order="orig",mar=c(0,0,1,1),type="upper",is.corr=T,diag=F) corrplot(cc4.t,main="Leadership",order="orig",mar=c(0,0,1,1),type="upper",is.corr=T,diag=F) corrplot(cc5.t,main="Backup",order="orig",mar=c(0,0,1,1),type="upper",is.corr=T,diag=F) corrplot(cc6.t,main="Performance monitoring",order="orig",mar=c(0,0,1,1),type="upper",is.corr=T,diag=F) corrplot(cc7.t,main="Adaptability",order="orig",mar=c(0,0,1,1),type="upper",is.corr=T,diag=F) corrplot(cc8.t,main="Shared MM",order="orig",mar=c(0,0,1,1),type="upper",is.corr=T,diag=F) cat("\n\n\\pagebreak\n") } avg <-( cc1.t+cc2.t+cc3.t+cc4.t+cc5.t+cc6.t+cc7.t+cc8.t)/8 par(mfrow=c(1,1)) corrplot(avg, main=paste("Correlation of ratings from each rater\n (SIRIUS Mission)",sep=""),order="orig",mar=c(1,0,2,1), is.corr=T,diag=T,type="upper") library(pwr) install.packages("pwr") library(pwr) #Test Type A: pab_saA <- t.test(TeamA_sa$TotalA,TeamB_sa$TotalA,alternative="greater",paired=F) library(dplyr) ?filter x <- 1:100 plot(x,(100-x)/2) library(elo) #library(EloRating) #Animal dominance #library(EloChoice) # Visual stimuli parwise comparisons #library(EloOptimized) data(tournament) str(tournament) elo.run(score(points.Home, points.Visitor) ~ team.Home + team.Visitor, data = tournament, k = 20) x <- elo.run(score(points.Home, points.Visitor) ~ team.Home + team.Visitor + k(20*log(abs(points.Home - points.Visitor) + 1)), data = tournament) logodds <- function(p) {log(p/(1-p))} logit <- function(x) {(exp(x)/(1 + exp(x)))} ##this should work for an entire vectorized list, so p1 and p2 can be a series of ##opponents over which skill is static play <- function(p1,p2) { skilldelta <- t(t(skill[p1,,drop=F] - skill[p2,,drop=F]) * skillWeights) ##make winner depend on a weighted average sumdelta <- rowSums(skilldelta) advantage <- sumdelta #could use other strategies for multidimensional things. winprob <- logit(advantage) wins <- runif(length(winprob))