# Script to reproduce information in Figure 1 from: # # Tim K. Tsang, Vicky J. Fang, Kwok-Hung Chan, et al. # Individual correlates of infectivity of influenza A virus infections in households. # PLoS ONE 2016. ### need to run lmec regression to produce the grouped_data first rawdata1 <- read.csv("data.csv",header=F) rawdata2 <- read.csv("grouped_data.csv",header=F) data1 <- data.frame(matrix(NA,length(unique(rawdata1[,1])),21)) for (i in 1:nrow(data1)){ temp <- rawdata1[rawdata1[,1]==unique(rawdata1[,1])[i],] temp2 <- rawdata2[rawdata2[,1]==unique(rawdata2[,1])[i],] data1[i,1] <- temp[1,1] data1[i,2] <- sum(temp[,4])-1 data1[i,3] <- temp[1,8] data1[i,4] <- temp[1,14] data1[i,5:17] <- as.matrix(temp[1,16:28]) data1[i,18] <- max(data1[i,5:8]) data1[i,19] <- temp[1,32] data1[i,20] <- temp2[1,16] data1[i,21] <- temp2[1,33] } data1$group2 <- 0 cut <- quantile(data1$X18,1:2/3) data1[data1$X18cut[1],]$group2 <- 2 data1[data1$X18>cut[2],]$group2 <- 3 table(data1$X21,data1$group2) out <- rawdata1 out$first <- -1 for (i in 28:16){ out[out[,i]>log10(900),]$first <- out[out[,i]>log10(900),i] } out$group <- -1 out[out$first>0 & out$first < cut[1] ,]$group <- 1 out[out$first>cut[1] & out$first < cut[2] ,]$group <- 2 out[out$first>cut[2] ,]$group <- 3 match <- rawdata2[,c(1:2,16:28,33)] names(match)[3:16] <- paste(names(match)[3:16],"1",sep=".") out2 <- merge(out,match,by=1:2,all.x=T) data <- out2 plotdata <- data[,c(16,56)] plotdata[,3] <- 0 plotdata[,4:5] <- data[,1:2] plotdata <- as.matrix(plotdata) for (i in 17:28){ temp <- data[,c(i,56)] temp[,3] <- i-16 temp[,4:5] <- data[,1:2] temp <- as.matrix(temp) plotdata <- rbind(plotdata,temp) } plotdata <- plotdata[plotdata[,5]==0,] plotdata1 <- plotdata[plotdata[,1]>=log10(900),] plotdata2 <- plotdata[plotdata[,1]>=0 & plotdata[,1]