Ich möchte ein Bardiagramm für diese Daten in R erstellen (aus einer CVS-Datei lesen):
Experiment_Name MetricA MetricB Just_X 2 10 Just_X_and_Y 3 20
um das folgende Diagramm zu haben:

Ich bin Anfänger und weiß nicht einmal, wie ich anfangen soll.
Ich möchte ein Bardiagramm für diese Daten in R erstellen (aus einer CVS-Datei lesen):
Experiment_Name MetricA MetricB Just_X 2 10 Just_X_and_Y 3 20
um das folgende Diagramm zu haben:

Ich bin Anfänger und weiß nicht einmal, wie ich anfangen soll.
Antworten:
Ich gehe davon aus, dass Sie Ihre Daten in R mit read.table()oder mit den Kurzhandfunktionen importieren read.csv()können. Anschließend können Sie beliebige Zusammenfassungsfunktionen anwenden, z. B. tableoder meanwie folgt:
x <- replicate(4, rnorm(100))
apply(x, 2, mean)
oder
x <- replicate(2, sample(letters[1:2], 100, rep=T))
apply(x, 2, table)
Die Idee ist, eine Matrix oder Tabelle für die Zusammenfassungswerte zu erhalten, die Sie anzeigen möchten.
Schauen Sie sich für die grafische Ausgabe die barplot()Funktion mit der Option an beside=TRUE, z
barplot(matrix(c(5,3,8,9),nr=2), beside=T,
col=c("aquamarine3","coral"),
names.arg=LETTERS[1:2])
legend("topleft", c("A","B"), pch=15,
col=c("aquamarine3","coral"),
bty="n")
Das spaceArgument kann verwendet werden, um einen zusätzlichen Abstand zwischen nebeneinander angeordneten Balken hinzuzufügen.

Hier ggplot Version:
library(ggplot2)
df = melt(data.frame(A=c(2, 10), B=c(3, 20),
experiment=c("X", "X & Y")),
variable_name="metric")
ggplot(df, aes(experiment, value, fill=metric)) +
geom_bar(position="dodge")

Ich wollte die Antwort von teucer aktualisieren, um reshape2 widerzuspiegeln.
library(ggplot2)
library(reshape2)
df = melt(data.frame(A=c(2, 10), B=c(3, 20),
experiment=c("X", "X & Y")),
variable.name="metric")
ggplot(df, aes(experiment, value, fill=metric)) +
geom_bar(position="dodge",stat="identity")
Beachten Sie, dass die Antwort von teucer den Fehler "Fehler in eval (Ausdruck, Umgebung, Beilage): Objekt 'Metrik' nicht gefunden" mit reshape2 erzeugt, da reshape2 variable.name anstelle von variable_name verwendet.
Ich fand auch, dass ich stat = "identity" zur Funktion geom_bar hinzufügen musste, da es sonst "Fehler: Zuordnen einer Variablen zu y und auch Verwenden von stat =" bin "gab.