fitness.data <- read.csv('../data/compensation_4_30.csv', na.strings="NA") fitness.data$prop.scd <- fitness.data$scd / (fitness.data$scd + fitness.data$wt) rep.colors <- c("#EE2222", "#55AA00", "#1133FF", "#992299") fitness.data$plot.col <- rep.colors[fitness.data$rep] par(mar=c(4,4,1,1)) plot(x = fitness.data$gen, y = fitness.data$prop.scd, pch = 16, col = fitness.data$plot.col, xlab = "Generation", ylab = "Proportion of scd1 males") for (r in 1:4) { cur.data <- fitness.data[fitness.data$rep == r,] lines(x=cur.data$gen, y=cur.data$prop.scd, col=cur.data$plot.col, lty=2) } # Note from ID, why not just fit the regression of frequency on generation? library(sciplot) ci.95 <- function(x) { mean.x <- mean(x) se.x <- se(x) return(c(mean.x-2*se.x, mean.x+2*se.x)) } pdf(file="../outputs/Figure4_fitness.pdf", width = 5, height = 4) par(mar=c(5,5,1,1)) lineplot.CI(x.factor = fitness.data$gen, response = fitness.data$prop.scd, ci.fun = ci.95, xlab = "Generation", pch = 20, cex = 2, lwd = 2, cex.lab = 1.5, ylab = expression(paste("frequency of ", italic(scd)^1, " males"))) #ylab = "Proportion of scd1 males") dev.off()