Primer vídeo dedicado al paquete ggplot2.
# Empezamos introduciendo nuestros datos y creando el DataFrame
NHoja = seq(1:20)
NPulgones = c(39,31,34,28,33,22,26,27,20,23,25,20,9,19,12,16,11,12,17,10)
Tratamiento = rep((c("A","B","C")),c(5,7,8))
df=data.frame(NHoja,NPulgones,Tratamiento)
df
```
```{r}
install.packages("ggplot2") # Si es la primera vez que lo usas, tendrás que instalar primero el paquete.
library (ggplot2) # Después hay que cargarlo cada vez que inicies sesión.
```
```{r}
# Para crear un gráfico de barras se sigue la siguiente estructura
ggplot(data=df, aes(x=Tratamiento)) + geom_bar(stat="bin")
# Hay que especificar la fuente de los datos, en nuestro caso el DataFrame "df"
# Después las variables que representaremos en el gráfico.
# Después el tipo de gráfico (barras, caja y bigotes, violin, queso...)
# En el caso de gráfico de barras.
# Si sólo se especifica una variable, R la representa en el eje de abcisas (X) y en el eje de ordenadas (Y) representará el número de entradas o datos que tenga cada variable.
# La orden para que las cuente se especifica mediante stat="bin", y es la opción por defecto.
ggplot(data=df, aes(x=Tratamiento)) + geom_bar()
```
```{r}
# Si queremos representar dos variables tendremos que usar stat="identity".
ggplot(data=df, aes(x=Tratamiento, y=NPulgones)) + geom_bar(stat="identity")
# Si no lo hacemos R nos dará un mensaje de aviso.
ggplot(data=df, aes(x=Tratamiento, y=NPulgones)) + geom_bar()
```
```{r}
# Representamos el número de pulgones en cada muestra u hoja.
ggplot(data=df, aes(x=NHoja, y=NPulgones)) + geom_bar(stat="identity")
# En el eje de abcisas no aparecen representados todos los número de hojas. Esto sucede porque R ha visto que hemos creado un vector con números y por defecto le ha dado el caracter numérico a esa variable.
str(df)
is.numeric(df$NHoja)
class(df$NHoja)
# Cambiamos la clase a factor, porque en realidad los números representan los nombres de cada hoja y no vamos a hacer operaciones numéricas con ellos.
df$NHoja = as.factor(df$NHoja)
# Comprobamos
str(df)
is.numeric(df$NHoja)
class(df$NHoja)
# Volvemos a hacer la gráfica.
ggplot(data=df, aes(x=NHoja, y=NPulgones)) + geom_bar(stat="identity")
```
```{r}
# En la sección de aes, también podemos especificar si queremos que además queremos diferenciar el color de las barras, según los niveles de otra variable, por ejemplo, dar un color diferente según el tipo de tratamiento que han recibido. Para ello utilizaremos la expresión "fill=Tratamiento".
ggplot(data=df, aes(x=NHoja, y=NPulgones, fill=Tratamiento)) + geom_bar(stat="identity")
# Podemos especificar los colores de relleno con el comando "scale_fill_manual".
ggplot(data=df, aes(x=NHoja, y=NPulgones, fill=Tratamiento)) +
geom_bar(stat="identity") +
scale_fill_manual(values=c("#FF0033", "#3300FF","#00CC00"))
ggplot(data=df, aes(x=NHoja, y=NPulgones, fill=NHoja)) +
geom_bar(stat="identity")
```
No hay comentarios:
Publicar un comentario