Chcę utworzyć bardiagram dla tych danych w R (odczytany z pliku CVS):
Experiment_Name MetricA MetricB Just_X 2 10 Just_X_i_Y 3 20
mieć następujący schemat:
Jestem początkującym i nie wiem nawet, jak zacząć.
Chcę utworzyć bardiagram dla tych danych w R (odczytany z pliku CVS):
Experiment_Name MetricA MetricB Just_X 2 10 Just_X_i_Y 3 20
mieć następujący schemat:
Jestem początkującym i nie wiem nawet, jak zacząć.
Odpowiedzi:
Zakładam, że jesteś w stanie zaimportować swoje dane do R za pomocą read.table()
funkcji skrótów read.csv()
. Następnie możesz zastosować dowolne funkcje podsumowania, na przykład table
lub mean
, jak poniżej:
x <- replicate(4, rnorm(100))
apply(x, 2, mean)
lub
x <- replicate(2, sample(letters[1:2], 100, rep=T))
apply(x, 2, table)
Chodzi o to, aby otrzymać macierz lub tabelę wartości podsumowania, które chcesz wyświetlić.
Aby uzyskać wynik graficzny, spójrz na barplot()
funkcję z opcją beside=TRUE
, np
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")
space
Argument może być używany, aby dodać dodatkową przestrzeń między sąsiednimi barów.
Oto wersja ggplot:
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")
Chciałem zaktualizować odpowiedź teucera, aby odzwierciedlić reshape2.
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")
Zauważ, że odpowiedź teucera powoduje błąd „Błąd w ewaluacji (wyrażenie, środowisko, załączniki): nie znaleziono metryki obiektu” przy reshape2, ponieważ reshape2 używa zmiennej.name zamiast zmiennej_nazwa.
Odkryłem również, że muszę dodać stat = "tożsamość" do funkcji geom_bar, ponieważ w przeciwnym razie dałoby to „Błąd: Mapowanie zmiennej do y, a także użycie stat =„ bin ”.”