Otrzymuję ten błąd podczas kreślenia wykresu słupkowego i nie jestem w stanie się go pozbyć, próbowałem zarówno qplot, jak i ggplot, ale nadal ten sam błąd.
Oto mój kod:
library(dplyr)
library(ggplot2)
#Investigate data further to build a machine learning model
data_country = data %>%
group_by(country) %>%
summarise(conversion_rate = mean(converted))
#Ist method
qplot(country, conversion_rate, data = data_country,geom = "bar", stat ="identity", fill = country)
#2nd method
ggplot(data_country)+aes(x=country,y = conversion_rate)+geom_bar()
Błąd:
stat_count() must not be used with a y aesthetic
Dane w data_country:
country conversion_rate
<fctr> <dbl>
1 China 0.001331558
2 Germany 0.062428188
3 UK 0.052612025
4 US 0.037800687
Błąd pojawia się na wykresie słupkowym, a nie na wykresie kropkowanym.
aes
jest w rzeczywistości funkcją. Argumentemggplot
jestmapping
. Zapewniamy to mapowanie za pomocąaes
funkcji, więc często widzisz wzórggplot(df, aes(...))
. Ale wzór ggplot (data_frame) + aes (x = X, y = Y) też jest w porządku. Oprócz możliwej poprawy czytelności,aes
osobne wywołanie może być użyte do modyfikacji estetyki na gotowym wykresie: p <- ggplot (tęczówka) + aes (x = Gatunek, y = Sepal.Length) + geom_point (); q <- p + aes (y = długość płatka)jeśli chcesz użyć danych istniejących w ramce danych jako wartości y, musisz dodać stat = "identity" w parametrze mapowania. Funkcja geom_bar ma domyślną wartość y. Na przykład,
ggplot(data_country)+ geom_bar(mapping = aes(x = country, y = conversion_rate), stat = "identity")
źródło
Możesz bezpośrednio użyć geom_col (). Zobacz różnice między geom_bar () i geom_col () w tym linku https://ggplot2.tidyverse.org/reference/geom_bar.html
źródło
Szukałem tego samego i to też może się udać
p.Wages.all.a.mean <- ggplot(p.Wages.all.A_MEAN, aes(Year, ANNUAL.MEAN.WAGE , color= `Career Cluster`))+ geom_point(aes(col=`Career Cluster` ), pch=15, size=2.75, alpha=1.5/4)+ theme(axis.text.x = element_text(color="#993333", size=10, angle=0)) #face="italic", p.Wages.all.a.mean
źródło