2017-09-09 5 views
1

Ich bin ziemlich neu in R Studio, also ich entschuldige mich im Voraus. Ich brauche Hilfe, um einen gruppierten Barplot zu erstellen. Ich habe drei Variablen: "Zeit": in eine kontinuierliche Variable umgewandelt "Behandlung": "Con", "Hya" "Trial": "T1", "T2", "T3" Ich möchte etwas wie produzieren dies:R gruppiert Bar Grundstück

Es sollte drei Gruppen von drei Spalten nebeneinander gestapelt werden. Zeit auf der Y-Achse; Versuch (1,2 & 3) auf der X-Achse; Behandlung entsprechend farbigen Säulen (Hya = grau, Con = weiß) mit einer Legende, die die Behandlungsfarbe erklärt. Hier

ist die Struktur meiner Daten:

'data.frame': 102 obs. of 3 variables: 
$ Trial : int 1 1 1 1 1 1 1 1 1 1 ... 
$ Treatment: $ Trial : int 1 1 1 1 1 1 1 1 1 1 ... 
$ Treatment: Factor w/ 2 levels "Control","Hyaluronan": 1 1 1 1 1 1 1 1 1 1 ... 
$ Time  : num 11 7 7.68 7.7 7 3 5 5.48 4 6 ... 

ich diese Fehlermeldung:

> barplot(table(Biopsy$Time, Biopsy$Treatment, Biopsy$Trial)) 
Error in barplot.default(table(Biopsy$Time, Biopsy$Treatment, Biopsy$Trial)) : 
    'height' must be a vector or a matrix 

Bitte, wenn jemand zu helfen, ist in der Lage würde ich es so schätzen, ich habe versucht, so lange :(

+0

Haben Sie die Zeit für Beobachtungen aggregieren möchten, wo Trial and Treatment identisch sind? – Harald

+0

Ich glaube nicht? Nur drei Gruppen von 2 Spalten (Hya und Con), die den Versuchen 1, 2 und 3 entsprechen. Entschuldigung, meine Frage war nicht klar. –

+0

Also, wo ist dein Codebeispiel? – yacc

Antwort

1

Ich denke, es ist nützlich, das "ggplot2" -Paket hier zu erwähnen. Mit diesem Paket ist die Erstellung eines gestapelten Balkendiagramms ziemlich einfach. Ich war mir nicht sicher über den Datenrahmen, mit dem Sie arbeiten h, da Sie nur einen Schnappschuss Ihrer Datenstruktur liefern, aber ich hoffe, dass der Datenrahmen, den ich als Beispiel erstellt habe, Ihnen helfen wird, die grundlegende Funktion zu zeigen, die zum Erstellen eines solchen Plots verwendet wurde. (Sie können in RStudio copy-paste einfach und den Code ausführen. Achten Sie auf die ggplot2 [install.packages ("ggplot2")] Paket zu installieren, bevor die Bibliothek() Funktion ausgeführt wird.)

trial <- c(1,1,1,1,2,2,2,2,3,3,3,3) 
treatment <- c("Hya","Hya","Con","Con","Hya","Hya","Con","Con","Hya","Hya","Con","Con") 
time <- c(1,7,1,7,2,8,2,8,3,9,3,9) 

df <- data.frame(trial,treatment,time) 

library(ggplot2) 
ggplot(df, aes(y = time, 
       x = trial, 
       group = treatment)) + 
    geom_bar(stat = "identity", position = "dodge", aes(fill = treatment)) 

The resulting plot can be found here.

Der obige Code erstellt einen Datenrahmen und ein Balkendiagramm. Die Gruppierung erfolgt mit dem Argument "group", die Farbe wird mit "fill" gesetzt. Natürlich können Sie die Farbgebung ändern usw. Da Sie neu sind RStudio/R Ich empfehle Ihnen die Dokumentation von ggplot.

ich dieses Beispiel hoffen hilft ...

+0

Danke. Woher kommen die Zahlen in der Zeit? –

+0

Zeit <- c (1,7,1,7,2,8,2,8,3,9,3,9) –

+0

Eine andere Person hat andere Nummern verwendet. Sind sie nur eine Probe und ich muss meine eigenen Zahlen eingeben? Welche Zahlen soll ich eingeben? –