@@ -31,27 +31,17 @@ am_barplot.trouvelot <- function(x, cbPalette = c("#999999", "#E69F00", "#56B4E9
3131 A <- Abundance <- Colonization <- M <- M1 <- a <- feature <- features <- final_a <- m <- NULL
3232 mA <- n_myc <- nn <- num <- perc <- replicates <- samples <- scoring <- tmpa <- tot <- tot2 <- value <- n <- NULL
3333 values <- NULL
34- tmp <- trouvelot_summary(x )
35- final <- tmp %> %
36- mutate(num = n()) %> %
37- group_by(samples ) %> %
38- summarise(mean_F = mean(F , na.rm = TRUE ),
39- se_F = sd(F , na.rm = TRUE ) / mean(num , na.rm = TRUE ),
40- mean_M = mean(M , na.rm = TRUE ),
41- se_M = sd(M , na.rm = TRUE ) / mean(num , na.rm = TRUE ),
42- mean_a = mean(a , na.rm = TRUE ),
43- se_a = sd(a , na.rm = TRUE ) / mean(num , na.rm = TRUE ),
44- mean_A = mean(A , na.rm = TRUE ),
45- se_A = sd(A , na.rm = TRUE ) / mean(num , na.rm = TRUE )
46- )
47- final2 <- final %> % gather(feature , value , - samples )
48- final3 <- final2 %> % dplyr :: filter(grepl(" mean" , feature ))
49- se <- final2 %> % dplyr :: filter(grepl(" se" , feature ))
50- g <- ggplot(data = final3 , aes(x = interaction(factor (final3 $ samples , levels = unique(x $ samples )),
51- factor (final3 $ feature , levels = c(" mean_F" , " mean_M" , " mean_a" , " mean_A" ))),
52- y = value , fill = samples ))
34+ y <- trouvelot_summary(x )
35+ z <- y %> % tidyr :: gather(features , values , - samples , - replicates )
36+ final <- z %> % group_by(samples , features ) %> %
37+ mutate(num = n()) %> %
38+ summarize(means = mean(values , na.rm = TRUE ),
39+ se = sd(values , na.rm = TRUE ) / sqrt(mean(num , na.rm = TRUE )))
40+ g <- ggplot(data = final , aes(x = interaction(factor (final $ samples , levels = unique(x $ samples )),
41+ factor (final $ features , levels = c(" F" , " M" , " a" , " A" ))),
42+ y = means , fill = samples ))
5343 a1 <- g + geom_col() + theme(axis.text.x = element_text(angle = 90 , vjust = .5 , hjust = 1 )) +
54- geom_errorbar(aes(ymin = value - se $ value , ymax = value + se $ value ), width = .1 ) +
44+ geom_errorbar(aes(ymin = means - se , ymax = means + se ), width = .1 ) +
5545 theme_bw() +
5646 theme(axis.text.x = element_text(angle = 45 , vjust = 1 , hjust = 1 ),
5747 plot.title = element_text(size = 19 ),
@@ -60,19 +50,20 @@ am_barplot.trouvelot <- function(x, cbPalette = c("#999999", "#E69F00", "#56B4E9
6050 panel.grid.major.x = element_blank(),
6151 panel.grid.minor.x = element_blank(),
6252 legend.position = leg [1 ]) +
63- geom_vline(xintercept = seq(length(unique(final3 $ samples )) + .5 , length(unique(final3 $ samples )) * 3 + .5 ,
64- length(unique(final3 $ samples ))), colour = " lightgrey" ) +
53+ geom_vline(xintercept = seq(length(unique(final $ samples )) + .5 , length(unique(final $ samples )) * 3 + .5 ,
54+ length(unique(final $ samples ))), colour = " lightgrey" ) +
6555 # geom_hline(yintercept = 105, colour = "lightgrey") +
6656 labs(title = main ,
6757 # subtitle = "Trouvelot method",
6858 x = " " ,
6959 y = " " ) +
70- ylim(- 0.5 , 110 ) +
71- annotate(" text" , x = seq(length(unique(final3 $ samples )) * .5 + .5 , length(unique(final3 $ samples )) * 5 + .5 ,
72- length(unique(final3 $ samples )))[1 : 4 ],
60+ ylim(ifelse(min(final $ means - final $ se ) < 0 ,
61+ min(final $ means - final $ se ), 0 ), 110 ) +
62+ annotate(" text" , x = seq(length(unique(final $ samples )) * .5 + .5 , length(unique(final $ samples )) * 5 + .5 ,
63+ length(unique(final $ samples )))[1 : 4 ],
7364 y = 110 , label = c(" F%" , " M%" , " a%" , " A%" )) +
7465 scale_x_discrete(labels = rep(unique(x $ samples ), 5 )) +
75- scale_fill_manual(values = cbPalette , breaks = levels(factor (final3 $ samples , levels = unique(x $ samples ))))
66+ scale_fill_manual(values = cbPalette , breaks = levels(factor (final $ samples , levels = unique(x $ samples ))))
7667 class(a1 ) <- c(" am_plot" , class(a1 ))
7768 return (a1 )
7869}
0 commit comments