こんにちはみんな私は棒グラフをプロットしている間私はこのエラーを受けています、そして私はそれを取り除くことができません、私はqplotとggplotの両方を試してみました、それでも同じエラー。
以下は私のコードです
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()
エラー:
stat_count() must not be used with a y aesthetic
Data_countryのデータ
country conversion_rate
<fctr> <dbl>
1 China 0.001331558
2 Germany 0.062428188
3 UK 0.052612025
4 US 0.037800687
点線ではなく棒グラフでエラーが発生しています。どんな提案でも大いに役立ちます
まず第一に、あなたのコードは少しオフです。 aes()
はggplot()
の引数です。ggplot(...)
+ aes(...) + layers
は使用しないでください。
次に、ヘルプファイル?geom_bar
から:
デフォルトでは、geom_barはstat = "count"を使用します。これは、バーの高さを各グループのケース数に比例させます(または、ウェイトが指定されている場合はウェイトの合計)。棒の高さをデータ内の値を表すようにするには、stat = "identity"を使用して変数をy美的値にマップします。
あなたは、バーの高さがconversion_rate
と等しい、2番目のケースが欲しいです。
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")
結果:
データフレームに存在するデータをy値として使用したい場合は、マッピングパラメータにstat = "identity"を追加する必要があります。関数geom_barはデフォルトのy値を持ちます。例えば、
ggplot(data_country)+
geom_bar(mapping = aes(x = country, y = conversion_rate), stat = "identity")
私は同じを探していたし、これもうまくいくかもしれない
p.Wages.all.A_MEAN <- Wages.all %>%
group_by(`Career Cluster`, Year)%>%
summarize(ANNUAL.MEAN.WAGE = mean(A_MEAN))
名前(p.Wages.all.A_MEAN)[1] "キャリアクラスター" "年" "ANNUAL.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