2016-01-23 11 views
40

In molti dei miei programmi ho utilizzato ggplot2 per il rendering dei grafici. Li ho caricati su shinyapps.io e stanno funzionando perfettamente. Tuttavia, quando si tenta di eseguire il programma sulla mia macchina, sto ottenendo il seguente errore:Errore: stat_count() in ggplot2

Error : stat_count() must not be used with a y aesthetic. 

Di seguito viene riportato il codice di esempio:

ggplot(hashtg, aes(x=reorder(hashtag, Freq), y = Freq, fill = hashtag)) + geom_bar(stat="identity") + 
       geom_bar(width = 0.4) + xlab("Hashtags Used") + ylab("Number of responses") + 
       geom_text(aes(label=Freq), hjust = 1, colour = "white") 

Il codice attuale ha molti argomenti di grafico a barre come titolo, tema & annotazione, ma suppongo che non ostacolerebbero l'output. Sto usando dati aggregati dove Freq nel codice è la frequenza di un termine particolare. Quando ho cercato aiuto, ho ripetuto le istruzioni per utilizzare stat = "identity" per un grafico a barre.

Qualsiasi aiuto sarebbe molto apprezzato.

Le informazioni di sessione è la seguente:

R version 3.2.0 (2015-04-16) 
Platform: x86_64-apple-darwin13.4.0 (64-bit) 
Running under: OS X 10.10.3 (Yosemite) 

locale: 
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] wordcloud_2.5  RColorBrewer_1.1-2 SnowballC_0.5.1  ggplot2_2.0.0  plyr_1.8.3   
[6] chron_2.3-47   RCurl_1.95-4.7  bitops_1.0-6   ROAuth_0.9.6   RJSONIO_1.3-0  
[11] twitteR_1.1.9  base64enc_0.1-3  tm_0.6-2    NLP_0.1-8   stringr_1.0.0  
[16] shinydashboard_0.5.1 shinyIncubator_0.2.2 shiny_0.12.2   

loaded via a namespace (and not attached): 
[1] Rcpp_0.12.1  tools_3.2.0  digest_0.6.8  bit_1.1-12  jsonlite_0.9.17 gtable_0.1.2  
[7] DBI_0.3.1   rstudioapi_0.3.1 curl_0.9.3  parallel_3.2.0 httr_1.0.0  bit64_0.9-5  
[13] grid_3.2.0  R6_2.1.1   magrittr_1.5  scales_0.3.0  htmltools_0.2.6 colorspace_1.2-6 
[19] mime_0.4   xtable_1.7-4  httpuv_1.3.3  labeling_0.3  stringi_0.5-5  munsell_0.4.2  
[25] slam_0.1-32  rjson_0.2.15  rstudio_0.98.1103 

Per ribadire, lo stesso codice funziona senza problemi in shinyapps.io.

+1

hai confrontato il tuo sessionInfo() con il server? – MLavoie

+0

Non ancora, non so come farlo. Recentemente ho aggiornato Java e installato JRE e Android Studio ... Sarà in conflitto ??? – LeArNr

+3

C'è stato un certo numero di modifiche irrisolte con l'aggiornamento di ggplot2 alla versione 2.0.0. Confronta le versioni e studia le NOVITÀ dall'aggiornamento. – Roland

risposta

80

Ho trovato questo collegamento (http://tutorials.iq.harvard.edu/R/Rgraphics/Rgraphics.html) con la soluzione per questo errore.

La colonna che si sta cercando di riepilogare con geom_bar() è già riepilogata. È necessario modificare stat=stat_count (predefinito in geom_bar()) in identità.

+ geom_bar(stat="identity") 

Oppure, è possibile utilizzare geom_col invece.

+0

Grazie per il tuo messaggio .... infatti il ​​problema è nel definire l'argomento width separatamente, che viene risolto quando lo includi con stat = "identity" ... come in 'geom_bar (stat = 'identity", width = 0.4) 'essenzialmente nel senso che tutti gli argomenti relativi a geom_bar devono essere dichiarati insieme quale è un passaggio dalla versione precedente alla nuova versione di ggplot2. – LeArNr