Sto disegnando una variabile categoriale e invece di mostrare i conteggi per ciascun valore di categoria.
Sto cercando un modo per ggplot
visualizzare la percentuale di valori in quella categoria. Certo, è possibile creare un'altra variabile con la percentuale calcolata e tracciarne una, ma devo farlo diverse dozzine di volte e spero di riuscirci in un solo comando.
Stavo sperimentando qualcosa del genere
qplot(mydataf) +
stat_bin(aes(n = nrow(mydataf), y = ..count../n)) +
scale_y_continuous(formatter = "percent")
ma devo usarlo in modo errato, poiché ho riscontrato errori.
Per riprodurre facilmente l'installazione, ecco un esempio semplificato:
mydata <- c ("aa", "bb", NULL, "bb", "cc", "aa", "aa", "aa", "ee", NULL, "cc");
mydataf <- factor(mydata);
qplot (mydataf); #this shows the count, I'm looking to see % displayed.
Nel caso reale, probabilmente userò ggplot
invece di qplot
, ma il modo giusto di usare stat_bin mi sfugge ancora.
Ho anche provato questi quattro approcci:
ggplot(mydataf, aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent');
ggplot(mydataf, aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent') + geom_bar();
ggplot(mydataf, aes(x = levels(mydataf), y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent');
ggplot(mydataf, aes(x = levels(mydataf), y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent') + geom_bar();
ma tutti e 4 danno:
Error: ggplot2 doesn't know how to deal with data of class factor
Lo stesso errore appare per il semplice caso di
ggplot (data=mydataf, aes(levels(mydataf))) +
geom_bar()
quindi è chiaramente qualcosa su come ggplot
interagisce con un singolo vettore. Mi gratto la testa, cercare su Google quell'errore dà un solo risultato .