Ho un file di sondaggio in cui riga sono domande di osservazione e di colonna.Grafico a barre raggruppato in ggplot
Ecco alcuni fake data assomigliano:
People,Food,Music,People
P1,Very Bad,Bad,Good
P2,Good,Good,Very Bad
P3,Good,Bad,Good
P4,Good,Very Bad,Very Good
P5,Bad,Good,Very Good
P6,Bad,Good,Very Good
Il mio obiettivo è quello di creare questo tipo di trama con ggplot2
.
- io assolutamente Non mi importa del colore, disegno ecc
- La trama non corrisponde ai dati falsi
Ecco il mio falso dati:
raw <- read.csv("http://pastebin.com/raw.php?i=L8cEKcxS",sep=",")
raw[,2]<-factor(raw[,2],levels=c("Very Bad","Bad","Good","Very Good"),ordered=FALSE)
raw[,3]<-factor(raw[,3],levels=c("Very Bad","Bad","Good","Very Good"),ordered=FALSE)
raw[,4]<-factor(raw[,4],levels=c("Very Bad","Bad","Good","Very Good"),ordered=FALSE)
Ma se io c Hoose Y come conteggio quindi mi trovo ad affrontare un problema relativo alla scelta della X e dei valori del gruppo ... Non so se riuscirò a fare senza usare reshape2
... Sono anche stanco di usare la rimodella con la funzione fusione. Ma non capisco come usarlo ...
Ciao grazie, è esattamente quello che voglio. Grazie. Ho solo una domanda è anche possibile evitare ' 'raw = raw [, c (2,3,4)] freq = table (col (raw), as.matrix (raw))' e fa tutto con rimodellare? Perché ho avuto lo stesso tipo di problema http://stackoverflow.com/questions/17303573/ggplot-multiple-grouping-bar e in questo post ho usato solo la risagoma. Sono confuso su questo ... – S12000
Beh, non ne sono sicuro.Il 'raw = raw [, c (2,3,4)]' esiste solo perché non ha senso includere l'indicatore di osservazione (poiché non si tracciano le singole osservazioni nella trama successiva). Pertanto, il conteggio è l'unica cosa che conta. Se puoi fare tutto con 'rimodella', non lo so. La mia ipotesi è che non puoi. – jakub
Beh, in realtà, i dati in questo post corrente sono diversi in quanto non contengono i conteggi numerici. Dai uno sguardo alle colonne 4-9 nel frame dei dati dal post a cui stai collegando: contengono valori numerici, successivamente sciolti da Didzis per creare la variabile 'value' nel frame dei dati fuso. Non avevamo valori, quindi dovevamo prima crearli. Quindi 'freq = table (col (raw), as.matrix (raw))'. (Ho aggiunto una spiegazione più ampia alla fine della mia risposta). – jakub