superponer - R ggplot2: stat_count() no debe usarse con un error estético en el gráfico de barras
superponer graficas en r ggplot (4)
En primer lugar, su código está un poco apagado.
aes()
es un argumento en
ggplot()
, no usas
ggplot(...)
+
aes(...) + layers
En segundo lugar, desde el archivo de ayuda
?geom_bar
:
Por defecto, geom_bar usa stat = "count", lo que hace que la altura de la barra sea proporcional al número de casos en cada grupo (o si se proporciona el peso de la estética, la suma de los pesos). Si desea que las alturas de las barras representen valores en los datos, use stat = "identity" y asigne una variable a la estética y.
Desea el segundo caso, donde la altura de la barra es igual a la
conversion_rate
Entonces, lo que quiere es ...
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")
Resultado:
Hola chicos, recibo este error al trazar un gráfico de barras y no puedo deshacerme de él, he intentado qplot y ggplot pero sigo con el mismo error.
Siguiente es mi código
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
Datos en data_country
country conversion_rate
<fctr> <dbl>
1 China 0.001331558
2 Germany 0.062428188
3 UK 0.052612025
4 US 0.037800687
El error aparece en el gráfico de barras y no en el gráfico de puntos. Cualquier sugerencia sería de gran ayuda.
Estaba buscando lo mismo y esto también puede funcionar
p.Wages.all.A_MEAN <- Wages.all %>%
group_by(`Career Cluster`, Year)%>%
summarize(ANNUAL.MEAN.WAGE = mean(A_MEAN))
nombres (p.Wages.all.A_MEAN) [1] "Carrera profesional" "Año" "ANUAL.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
Puede usar geom_col () directamente. Vea las diferencias entre geom_bar () y geom_col () en este enlace https://ggplot2.tidyverse.org/reference/geom_bar.html
geom_bar () hace que la altura de la barra sea proporcional al número de casos en cada grupo Si desea que las alturas de las barras representen valores en los datos, use geom_col () en su lugar.
ggplot(data_country)+aes(x=country,y = conversion_rate)+geom_col()
cuando desee utilizar sus datos existentes en su marco de datos como valor y, debe agregar stat = "identidad" en el parámetro de mapeo. La función geom_bar tiene el valor y predeterminado. Por ejemplo,
ggplot(data_country)+
geom_bar(mapping = aes(x = country, y = conversion_rate), stat = "identity")