Inicio › Foros › Etapa I – Raíces Profundas › Corrección-error en uno de las hojas de trabajo II23
- Este debate tiene 1 respuesta, 2 mensajes y ha sido actualizado por última vez el hace 1 año, 6 meses por
Jordi.
-
AutorEntradas
-
20 octubre, 2024 a las 23:49 #21091
Miguel Ángel Martínez GarcíaParticipanteBuenas Jordy,
Primero, agradecerte por la correcciones de la primera parte, que ya me sale. Ahora tengo problemas con la crecaión de gráficos en R. Te copio los códigos:
(sólo me sale eñ basic box plot, el resto nada…)
#Crea un boxplot de mpg
library(ggplot2)# Basic box plot
ggplot(data,aes(y=mpg))+
geom_boxplot()#Crea un boxplot de mpg por grupos de am
ggplot(data, aes(y=mpg, fill=am)) +
geom_boxplot()# Calcula el promedio de wt (peso) por cyl y am
data_sel_4 = data %>%
group_by(cyl,am) %>%
summarize(Mean_wt = mean(wt),desv_wt = sd(wt))#Crea un barplot de los promedios anteriores
barplot_1 <- plot_ly(data = data_sel_4[which(data_sel_4~$Mean_wt == ‘Yes’),], x = ~cyl, y = ~am, type = ‘bar’, name = ‘Yes’,
error_y = ~list(array = sd,color = ‘#000000’))
#o esta opción:barplot_2 <- ggplot(data=data_sel_4, aes(x=cyl, y=am, fill=Mean_wt)) +
geom_bar(stat=»identity», color=»black», position=position_dodge())+
theme_minimal()Mil gracias,
Un saludo21 octubre, 2024 a las 9:00 #21093
JordiSuperadministrador¡Hola! Me alegra que la primera parte ya te esté funcionando bien. Ahora vamos a revisar los gráficos que estás intentando crear. Hay algunos pequeños detalles que podemos ajustar en tu código para que todo funcione correctamente. A continuación te doy una corrección y explicación para cada uno de los casos.
### 1. **Boxplot básico de
mpg**
El código que tienes para el boxplot básico es correcto y debería funcionar sin problemas. Sin embargo, si deseas mejorar la visualización o agregar detalles, puedes hacerlo así:`r
library(ggplot2)# Basic box plot
ggplot(data, aes(y = mpg)) +
geom_boxplot() +
labs(title = «Boxplot de MPG», y = «MPG») +
theme_minimal()
`### 2. **Boxplot de
mpgpor grupos deam**
El problema con este gráfico es queames una variable numérica enmtcars, pero para los gráficos es más útil que sea un factor (categórico) porque representa la transmisión automática (0) y manual (1). Lo puedes convertir en un factor para visualizarlo correctamente.`r
# Convertir ‘am’ en factor para que sea interpretado como variable categórica
data$am <- as.factor(data$am) # Boxplot de mpg por grupos de am ggplot(data, aes(y = mpg, x = am, fill = am)) + geom_boxplot() + labs(title = "Boxplot de MPG por tipo de transmisión", x = "Tipo de transmisión (am)", y = "MPG") + theme_minimal()`### 3. **Barplot de los promedios de
wtporcylyam**
Hay varios errores en las dos opciones que planteas para elbarplotde promedios. Vamos a arreglarlas:#### Opción 1 (plotly):
Aquí hay errores de sintaxis, y no necesitasplot_ly()para este gráfico en este caso. Como estamos usandoggplot2en los otros gráficos, vamos a quedarnos con esta librería para consistencia.#### Opción 2 (ggplot):
Hay algunos detalles menores con las comillas (») y el uso incorrecto de la columnaamcomo valor continuo eny. El gráfico debería mostrar los promedios dewten el ejey, no el valor deam. Aquí está la corrección:`r
# Barplot de los promedios de wt por cyl y am usando ggplot2
ggplot(data = data_sel_4, aes(x = as.factor(cyl), y = Mean_wt, fill = as.factor(am))) +
geom_bar(stat = «identity», color = «black», position = position_dodge()) +
labs(title = «Promedio de peso (wt) por cilindros y transmisión», x = «Número de cilindros», y = «Promedio de peso (wt)», fill = «Transmisión (am)») +
theme_minimal()
`### Explicación de los cambios:
– **as.factor(cyl)** y **as.factor(am)**: Convertimoscylyamen factores para que se visualicen correctamente como variables categóricas.
– **geom_bar(stat = "identity")**: Usamosidentityporque ya tenemos los valores calculados (los promedios dewt) y no queremos que se cuenten los datos.
– **position_dodge()**: Esto permite que las barras de diferentes grupos (transmisiónam) no se superpongan.### Resumen de las soluciones:
1. Para los **boxplots** de
mpg, asegúrate de convertiramen factor.
2. Para el **barplot**, usa correctamenteMean_wtcomo el ejeyy convierteamycylen factores para que se agrupen adecuadamente.Espero que estos ajustes resuelvan los problemas. Si necesitas más aclaraciones, no dudes en preguntar. ¡Mucho ánimo, ya estás muy cerca de tener todos los gráficos funcionando!
-
Esta respuesta fue modificada hace 1 año, 6 meses por
Jordi.
-
Esta respuesta fue modificada hace 1 año, 6 meses por
-
AutorEntradas
- Debes estar registrado para responder a este debate.