Skip to content
Snippets Groups Projects
Commit ebbe379f authored by Francesco Sabatini's avatar Francesco Sabatini
Browse files

Created code to extract and summarize summary info from C simulations

parent 0a004d2d
Branches
No related tags found
No related merge requests found
## this script extracts all the summary.txt files from all subfolder
## and summarizes the output for each run, trait x environment combination, and statistics
## It then plots the summarized output
library(tidyverse)
myfiles <- list.files(pattern = "Summary.txt", recursive = T)
output <- NULL
for(ff in myfiles){
iter <- gsub(pattern="/Summary.txt$", replacement="", ff)
iter <- strsplit(iter, split = "_")[[1]]
iter <- as.integer(unlist(regmatches(iter, gregexpr("[[:digit:]]+", iter))))/10
tmp <- read_delim(ff, delim="\t", col_names = F) %>%
dplyr::select(-X1, -X3, -X5, -X9, -X11, -X13) %>%
rename(simulated=X2, trait=X4, envir=X6, stat.type=X7, stat.obs=X8, pvalue=X10, SES=X12, exp.med=X14 ) %>%
mutate(stat.type=gsub(pattern = "^r\\(", replacement="", stat.type)) %>%
mutate(stat.type=gsub(pattern = "\\)\\=$", replacement="", stat.type)) %>%
mutate(stat.type=gsub(pattern = "_", replacement="\\.", stat.type)) %>%
mutate(trait=gsub(pattern="[[:space:]]+$", replacement="", trait)) %>%
mutate(envir=gsub(pattern="[[:space:]]+$", replacement="", envir)) %>%
mutate(main=iter[[1]]) %>%
mutate(inter=iter[[2]]) %>%
mutate(feedb=iter[[3]]) %>%
dplyr::select(main:feedb, everything())
output <- bind_rows(output, tmp)
}
outp.summary <- output %>%
filter(!stat.type %in% c("XY", "XY.T", "XY.TR")) %>%
group_by(main, inter, feedb, trait, envir, stat.type) %>%
summarize(stat.obs.med=median(stat.obs),
power=mean(pvalue<=0.05),
SES.med=median(SES),
exp.med.med=median(exp.med),
nsim=n()) %>%
bind_rows(output %>%
filter(stat.type %in% c("XY", "XY.T", "XY.TR")) %>%
group_by(main, inter, feedb, trait, stat.type) %>%
summarize(stat.obs.med=median(stat.obs),
power=mean(pvalue<=0.05),
SES.med=median(SES),
exp.med.med=median(exp.med),
nsim=n())) %>%
dplyr::select(main:stat.type, nsim, stat.obs.med:exp.med.med) %>%
arrange(stat.type, main, inter, feedb, trait, envir)
## plotting XY
ggplot(data=outp.summary %>%
ungroup() %>%
filter(stat.type=="XY") %>%
filter(trait %in% c("1", "2", "1 2", "3")) %>%
mutate(inter=as.factor(inter))) +
geom_line(aes(x=main, y=power, group=trait, col=trait)) +
scale_colour_brewer(palette = "Dark2") +
facet_grid(feedb~inter) +
theme_bw() +
theme(panel.grid = element_blank())
## plotting XE
ggplot(data=outp.summary %>%
ungroup() %>%
filter(stat.type=="XE") %>%
filter(envir=="1 ") %>%
mutate(inter=as.factor(inter))
#mutate(group0=paste("t", trait, " - e", envir))
) +
geom_line(aes(x=main, y=power, group=trait, col=trait), lwd=1.5, alpha=0.3) +
scale_colour_brewer(palette = "Dark2") +
facet_grid(feedb~inter) +
theme_bw() +
theme(panel.grid = element_blank())
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment