Hallo Leute Ich bekomme diesen Fehler beim Plotten eines Balkendiagramms und ich kann es nicht loswerden. Ich habe sowohl Qplot als auch ggplot versucht, aber immer noch den gleichen Fehler.
Folgendes ist mein Code
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()
Error:
stat_count() must not be used with a y aesthetic
Daten in data_country
country conversion_rate
<fctr> <dbl>
1 China 0.001331558
2 Germany 0.062428188
3 UK 0.052612025
4 US 0.037800687
Der Fehler tritt im Balkendiagramm und nicht im gepunkteten Diagramm auf. Anregungen wären sehr hilfreich
Zunächst einmal ist Ihr Code ein bisschen aus. aes()
ist ein Argument in ggplot()
, Sie verwenden ggplot(...)
+ aes(...) + layers
nicht.
Zweitens aus der Hilfedatei ?geom_bar
:
Standardmäßig verwendet geom_bar stat = "count", wodurch die Höhe von .__ festgelegt wird. bar Anteil an der Anzahl der Fälle in jeder Gruppe (oder wenn das Gewicht Ästhetik angegeben ist, die Summe der Gewichte). Wenn Sie die Höhen wollen Verwenden Sie für die Darstellung der Werte in den Daten stat = "identity" und ordnen Sie der y-Ästhetik eine Variable zu.
Sie möchten den zweiten Fall, bei dem die Höhe des Balkens gleich dem conversion_rate
ist. Sie möchten also ...
data_country <- data.frame(country = c("China", "Germany", "UK", "US"),
conversion_rate = c(0.001331558,0.062428188, 0.052612025, 0.037800687))
ggplot(data_country, aes(x=country,y = conversion_rate)) +geom_bar(stat = "identity")
Ergebnis:
wenn Sie Ihre in Ihrem Datenrahmen vorhandenen Daten als y-Wert verwenden möchten, müssen Sie im Zuordnungsparameter stat = "identity" hinzufügen. Die Funktion geom_bar hat den Standardwert y. Zum Beispiel,
ggplot(data_country)+
geom_bar(mapping = aes(x = country, y = conversion_rate), stat = "identity")
Ich habe das gleiche gesucht und das kann auch funktionieren
p.Wages.all.A_MEAN <- Wages.all %>%
group_by(`Career Cluster`, Year)%>%
summarize(ANNUAL.MEAN.WAGE = mean(A_MEAN))
namen (p.Wages.all.A_MEAN) [1] "Karriere-Cluster" "Jahr" "JÄHRLICH.MEAN.WAGE"
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