Skip to content

Commit c7e41ff

Browse files
author
Marco Chiapello
committed
Fixing se trouvelot
1 parent 7ec8a0f commit c7e41ff

1 file changed

Lines changed: 17 additions & 26 deletions

File tree

R/methods-trouvelot.R

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)