2016-01-23 9 views
40

W wielu moich programach używałem ggplot2 do renderowania wykresów. Załadowałem je na shinyapps.io i działają one absolutnie dobrze. Jednak, gdy próbuję uruchomić program na moim komputerze, i otrzymuję następujący błąd:Błąd: stat_count() in ggplot2

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

Poniżej znajduje się przykładowy kod:

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") 

Rzeczywisty kod ma wiele argumentów wykresie słupkowym takie jak tytuł, komentarz do tematu, ale domyślam się, że nie utrudniłoby to rezultatu. Używam danych zagregowanych, gdzie Freq w kodzie jest częstotliwość określonego terminu. Kiedy szukałem pomocy, powtórzyłem instrukcje użycia stat = "identity" dla wykresu słupkowego.

Każda pomoc będzie bardzo ceniona.

informacji sesja jest następujący:

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 

Aby powtórzyć ten sam kod działa bez kłopotów w shinyapps.io.

+1

Czy porównać swój sessionInfo() z serwerem? – MLavoie

+0

Jeszcze nie, nie wiem jak to zrobić. Niedawno zaktualizowałem Javę i zainstalowałem JRE i Android Studio ... Czy będzie to sprzeczne? – LeArNr

+3

Po aktualizacji ggplot2 do wersji 2.0.0 nastąpiło kilka przełomowych zmian. Porównaj wersje i przestudiuj NEWS z aktualizacji. – Roland

Odpowiedz

80

Znalazłem ten link (http://tutorials.iq.harvard.edu/R/Rgraphics/Rgraphics.html) z rozwiązaniem tego błędu.

Kolumna, którą próbujesz podsumować pod numerem geom_bar() została już podsumowana. Musisz zmienić stat=stat_count (domyślnie w geom_bar()) na tożsamość.

+ geom_bar(stat="identity") 

Zamiast tego można użyć geom_col.

+0

Dziękuję za wiadomość .... w rzeczywistości problem polega na zdefiniowaniu Argument szerokości osobno, który zostaje rozwiązany, gdy umieścisz go w stat = "identity" ... jak w 'geom_bar (stat = 'identity", width = 0.4) 'zasadniczo oznacza, że ​​wszystkie argumenty związane z geom_bar powinny być zadeklarowane razem, które to zmiana z wcześniejszej wersji na nową wersję ggplot2. – LeArNr