2014-11-06 17 views
8

Ho questi dati:Stampa oggetti tabella con ggplot?

  No Yes 
Female 411 130 
Male 435 124 

che è stato creato utilizzando il comando standard tavolo. Ora con trama posso tracciare questo come tale:

plot(table(df$gender, df$fraud))

e poi emette un grafico a barre 2x2.

Quindi la mia domanda è, come posso farlo con ggplot2? Esiste un modo per trasformare l'oggetto tabella in un frame dati? Lo farei, ma diventa un disastro e devi quindi rinominare intestazioni di colonne e righe e diventa solo un casino per quella che è davvero una cosa abbastanza semplice?

risposta

14

Qualcosa di simile

ggplot(as.data.frame(table(df)), aes(x=gender, y = Freq, fill=fraud)) + geom_bar(stat="identity") 

ottiene un grafico simile con una quantità minima di rietichettatura.

3

ggplot2 funziona con il frame di dati, quindi è necessario convertire la tabella in una cornice. Ecco un esempio di codice:

myTable <- table(df$gender, df$fraud) 
myFrame <- as.data.frame(table(myTable)) 

Ora, è possibile utilizzare MyFrame in ggplot2:

ggplot(myFrame, aes(x=gender))+ 
    geom_bar(y = Freq) 

vedere Coerce to a Data Frame per ulteriori informazioni.