2016-04-26 5 views
0

Ich habe ein Dataset, das in mehrere Felder kategorisiert ist. Beispiel:Wie zeichnet man ein gestapeltes Flächendiagramm für gruppierte/kategorisierte Daten in R?

Time | CatA | CatB | CatC | Value 
--------------------------------- 
1  A  X  P  4 
2  A  X  Q  6 
3  A  Y  R  3 
4  A  Y  P  7 
1  B  X  Q  8 
2  B  X  R  9 
3  B  Y  P  5 
1  A  X  Q  8 
2  A  X  R  2 
3  A  Y  P  6 
4  A  Y  Q  4 
5  A  Y  R  3 

Jetzt mag ich eine Flächendiagramm zeichnen, so dass für jedes Mal, als eine Einheit auf dem X-Achse I entsprechende Daten von Y als ein kombiniertes Attribut der Kategorien haben. ZB: (A, X, P) wird ein Graphenstapel haben, (A, X, Q) wird ein anderer sein, (B, X, P) ein anderer und so weiter.

Wie zeichne ich das in R? (PS: Ich bin ein Anfänger zu R)

+0

Werfen Sie einen Blick auf 'ggplot2' Paket und das' geom_area' Grundstück. – Gopala

Antwort

0

Ist die Art der Grafik, die Sie interessiert sind? Ihre Daten:

df<-read.table(header = TRUE, text = "Time CatA CatB CatC Value 
       1  A  X  P  4 
       2  A  X  Q  6 
       3  A  Y  R  3 
       4  A  Y  P  7 
       1  B  X  Q  8 
       2  B  X  R  9 
       3  B  Y  P  5 
       1  A  X  Q  8 
       2  A  X  R  2 
       3  A  Y  P  6 
       4  A  Y  Q  4 
       5  A  Y  R  3") 

Code, um das Grundstück zu erstellen:

library(ggplot2) 
#combine all of the cat to a single label 
df$cat<-paste(df$CatA, df$CatB, df$CatC) 
ggplot(df, aes(x=cat, y=Value, fill=CatB)) + geom_bar(stat="identity") + 
    scale_fill_manual(values=c("#669933", "#FFCC66")) + 
    xlab("Cat: A,B and C") 
Verwandte Themen