Skip to content
Snippets Groups Projects
Select Git revision
  • 840fa270b8e7a3c41948925e002a8ca10b08755f
  • master default protected
  • beta
  • dev
  • andrewssobral-patch-1
  • update
  • thomas-fork
  • 2.0
  • v3.2.0
  • v3.1.0
  • v3.0
  • bgslib_py27_ocv3_win64
  • bgslib_java_2.0.0
  • bgslib_console_2.0.0
  • bgslib_matlab_win64_2.0.0
  • bgslib_qtgui_2.0.0
  • 2.0.0
  • bgs_console_2.0.0
  • bgs_matlab_win64_2.0.0
  • bgs_qtgui_2.0.0
  • v1.9.2_x86_mfc_gui
  • v1.9.2_x64_java_gui
  • v1.9.2_x86_java_gui
23 results

PreProcessor.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    98_SummarizeSimulations.R 5.35 KiB
    ## 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)
    
    mypath <- "_data/Experiment_04Mar2020"
    
    myfiles <- list.files(path=mypath, 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))))
      tmp <- read_delim(paste(mypath, ff, sep="/"), 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(ntraits=iter[[2]]) %>% 
        mutate(corr=iter[[3]]) %>% 
        dplyr::select(main:corr, everything())
      output <- bind_rows(output, tmp)
    }
    
    outp.summary <- output %>% 
      dplyr::filter(!stat.type %in% c("XY", "XY.T", "XY.TR")) %>% 
      group_by(main, ntraits, corr, 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 %>% 
                  dplyr::filter(stat.type %in% c("XY", "XY.T", "XY.TR")) %>% 
                  group_by(main, ntraits, corr, 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, ntraits, corr, trait, envir)
    
    
    outp.summary 
    
      
    get.ntraits <- function(x){ 
      tmp <- str_split(x, pattern = " ")[[1]]
      return(length(tmp))
    }
      
    
    
    ## plotting power for XY with corr
    
    ggplot(data=outp.summary %>% 
            ungroup() %>% 
            rowwise() %>% 
            mutate(sel.ntraits=factor(get.ntraits(trait))) %>%  
            ungroup() %>% 
            dplyr::filter(stat.type=="XY") %>% 
            #filter(ntraits==3) %>% 
             #dplyr::filter(trait %in% c("1", "2", "1 2", "3")) %>% 
             #dplyr::filter(trait %in% c("1", "2", "3")) %>% 
             #dplyr::filter(trait %in% c("1", "2", "3", "1 2", "1 2 3")) %>% 
             mutate(ntraits=as.factor(ntraits))) + 
      geom_line(aes(x=main, y=power, group=trait, col=trait)) + 
      #scale_colour_brewer(palette = "Dark2") + 
      facet_grid(sel.ntraits~ntraits) + 
      theme_bw() + 
      theme(panel.grid = element_blank())
    
    ggsave(filename="_data/Experiment_04Mar2020/corXY_obs_Exp04March2020.png", width=6, height=5, device="png", dpi = 300, last_plot())
    
    ## plotting non-parametric SES for XY with corr
    
    ggplot(data=outp.summary %>% 
             ungroup() %>% 
             rowwise() %>% 
             mutate(sel.ntraits=factor(get.ntraits(trait))) %>%  
             ungroup() %>% 
             dplyr::filter(stat.type=="XY") %>% 
             filter(ntraits==3) %>% 
             
             #dplyr::filter(trait %in% c("1", "2", "1 2", "3")) %>% 
             #dplyr::filter(trait %in% c("1", "2", "3")) %>% 
             #dplyr::filter(trait %in% c("1", "2", "3", "1 2", "1 2 3")) %>% 
             mutate(ntraits=as.factor(ntraits))) + 
      geom_line(aes(x=main, y=SES.med, group=trait, col=trait)) + 
      #scale_colour_brewer(palette = "Dark2") + 
      #facet_grid(sel.ntraits~ntraits, scales = "free") + 
      theme_bw() + 
      theme(panel.grid = element_blank())
    
    ggsave(filename="_data/Experiment_04Mar2020/corXY_SES_Exp04March2020.png", width=6, height=5, device="png", dpi = 300, last_plot())
    
    ## plotting XE
    
    ggplot(data=outp.summary %>% 
             ungroup() %>% 
             dplyr::filter(stat.type=="XE") %>% 
             #dplyr::filter(envir=="1") %>% 
             filter(corr==0) %>% 
             filter(trait %in% c("1","2","3", "1 2")) %>% 
             mutate(ntraits=as.factor(ntraits))
           #mutate(group0=paste("t", trait, " - e", envir))
    ) + 
      geom_line(aes(x=main, y=power, group=trait, col=trait)) + 
      scale_colour_brewer(palette = "Dark2") + 
      facet_grid(envir~ntraits) + 
      theme_bw() + 
      theme(panel.grid = element_blank())
    
    ## plotting XY.T
    
    ggplot(data=outp.summary %>% 
             ungroup() %>% 
             dplyr::filter(stat.type=="XY.T") %>% 
             dplyr::filter(trait %in% c("1", "2", "1 2", "3")) %>%
             mutate(ntraits=as.factor(ntraits))) + 
      geom_line(aes(x=main, y=power, group=trait, col=trait)) + 
      scale_colour_brewer(palette = "Dark2") + 
      facet_grid(corr~ntraits) + 
      theme_bw() + 
      theme(panel.grid = element_blank())
    
    ## plotting XY.TR
    
    ggplot(data=outp.summary %>% 
             ungroup() %>% 
             dplyr::filter(stat.type=="XY.TR") %>% 
             dplyr::filter(trait %in% c("1", "2", "1 2", "3")) %>%
             mutate(ntraits=as.factor(ntraits))) + 
      geom_line(aes(x=main, y=power, group=trait, col=trait)) + 
      scale_colour_brewer(palette = "Dark2") + 
      facet_grid(corr~ntraits) + 
      theme_bw() + 
      theme(panel.grid = element_blank())