Voglio creare un bardiagramma per questi dati in R (letto da un file CVS):
Experiment_Name MetricA MetricB Just_X 2 10 Just_X_and_Y 3 20
per avere il seguente diagramma:
Sono principiante e non so nemmeno come iniziare.
Voglio creare un bardiagramma per questi dati in R (letto da un file CVS):
Experiment_Name MetricA MetricB Just_X 2 10 Just_X_and_Y 3 20
per avere il seguente diagramma:
Sono principiante e non so nemmeno come iniziare.
Risposte:
Presumo che tu sia in grado di importare i tuoi dati in R con read.table()
o con le read.csv()
funzioni di scelta rapida . Quindi è possibile applicare tutte le funzioni di riepilogo desiderate, ad esempio table
o mean
, come di seguito:
x <- replicate(4, rnorm(100))
apply(x, 2, mean)
o
x <- replicate(2, sample(letters[1:2], 100, rep=T))
apply(x, 2, table)
L'idea è di finire con una matrice o una tabella per i valori di riepilogo che si desidera visualizzare.
Per l'output grafico, guarda la barplot()
funzione con l'opzione beside=TRUE
, ad es
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")
L' space
argomento può essere utilizzato per aggiungere uno spazio aggiuntivo tra le barre giustapposte.
Ecco la versione di 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")
Volevo aggiornare la risposta di teucer per riflettere 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")
Si noti che la risposta di teucer produce l'errore "Errore in eval (expr, envir, enclos): oggetto" metrica "non trovato" con reshape2 perché reshape2 usa variabile.name invece di variabile_name.
Ho anche scoperto che dovevo aggiungere stat = "identità" alla funzione geom_bar perché altrimenti forniva "Errore: mappatura di una variabile su y e utilizzo anche stat =" bin "."