Hier ist die Handlung, die ich machen kann:
data <- data.frame(Patient = rep(seq(1, 5, 1), 2),
Treatment = c(rep("Pre", 5), rep("Post", 5)),
Gene.1 = c(rnorm(5, 10, 5), rnorm(5, 50, 5)),
Gene.2 = c(rnorm(5,10,5), rnorm(5, 10, 5)))
data %>%
gather(Gene, Levels, -Patient, -Treatment) %>%
mutate(Treatment = factor(Treatment, levels = c("Pre", "Post"))) %>%
mutate(Patient = as.factor(Patient)) %>%
ggplot(aes(x = Treatment, y = Levels, color = Patient, group = Patient)) +
geom_point() +
geom_line() +
facet_wrap(. ~ Gene, scales = "free") +
theme_bw() +
theme(panel.grid = element_blank())
Die "kostenlose" Waage-Funktion ist wunderbar, ich möchte jedoch diese beiden Angaben / Anpassungen vornehmen:
Yachse beginnt um 0
Erhöhen Sie die obere Y-Grenze um ~ 10%, damit ich einen Platz habe, um später einige Anmerkungen in Photoshop hinzuzufügen (P-Werte usw.).
Eine alternative Strategie könnte sein, um die einzelnen Grundlagen herzustellen und sie zusammen zu montieren, dies wird jedoch mit vielen Facettenelementen etwas langweilig.
1 Antwort
Erstens braucht Reproduzierbarkeit mit zufälligen Daten einen Samen. Ich habe mit {set.seed(42)
angefangen, aber die negativen Werte erzeugten, die völlig unabhängige Warnungen verursachten. Ein bisschen faul zu sein, habe ich den Samen in set.seed(2021)
geändert, um alle Positiven zu finden.
Für # 1 können wir limits=
hinzufügen, wo die Hilfe für ?scale_y_continuous
das sagt
limits: One of:
• 'NULL' to use the default scale range
• A numeric vector of length two providing limits of the
scale. Use 'NA' to refer to the existing minimum or
maximum
• A function that accepts the existing (automatic) limits
and returns new limits Note that setting limits on
positional scales will *remove* data outside of the
limits. If the purpose is to zoom, use the limit argument
in the coordinate system (see 'coord_cartesian()').
Also verwenden wir c(0, NA)
.
Für Q2 fügen wir expand=
hinzu, dokumentiert an derselben Stelle.
data %>%
gather(Gene, Levels, -Patient, -Treatment) %>%
mutate(Treatment = factor(Treatment, levels = c("Pre", "Post"))) %>%
mutate(Patient = as.factor(Patient)) %>%
ggplot(aes(x = Treatment, y = Levels, color = Patient, group = Patient)) +
geom_point() +
geom_line() +
facet_wrap(. ~ Gene, scales = "free") +
theme_bw() +
theme(panel.grid = element_blank()) +
scale_y_continuous(limits = c(0, NA), expand = expansion(mult = c(0, 0.1)))
Neue Fragen
r
R ist eine kostenlose Open-Source-Programmiersprache und Softwareumgebung für statistisches Rechnen, Bioinformatik, Visualisierung und allgemeines Rechnen. Bitte geben Sie minimale und reproduzierbare Beispiele zusammen mit der gewünschten Ausgabe an. Verwenden Sie dput () für Daten und geben Sie alle Nicht-Basispakete mit library () -Aufrufen an. Betten Sie keine Bilder für Daten oder Code ein, sondern verwenden Sie stattdessen eingerückte Codeblöcke. Verwenden Sie für statistische Fragen https://stats.stackexchange.com.