Este taller introductorio tiene el objetivo de presentar aspectos fundamentales del valor de visualizar preliminarmente un conjunto de datos para determinar sus propiedades. Se utiliza el dataset tradicional de Anscombe.
Importar el Dataset
anscombe <- read.csv2("~/MAIN/VisualizacionDatos/anscombe/anscombe.csv")
str(anscombe)
## 'data.frame': 44 obs. of 3 variables:
## $ Set: int 1 1 1 1 1 1 1 1 1 1 ...
## $ X : int 10 8 13 9 11 14 6 4 12 7 ...
## $ Y : num 8.04 6.95 7.58 8.81 8.33 ...
Convertir Set a factor
anscombe$Set <- as.factor(anscombe$Set)
str(anscombe)
## 'data.frame': 44 obs. of 3 variables:
## $ Set: Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 1 1 ...
## $ X : int 10 8 13 9 11 14 6 4 12 7 ...
## $ Y : num 8.04 6.95 7.58 8.81 8.33 ...
Crear un subconjunto para cada valor de Set
uno <- subset(anscombe, Set=="1")
dos <- subset(anscombe, Set=="2")
tres <- subset(anscombe, Set=="3")
cuatro <- subset(anscombe, Set=="4")
Calcular el promedio, varianza, y correlación para cada objeto y guardarlos en un dataframe
XProm <- mean(uno$X)
YProm <- mean (uno$Y)
Xvar <- var(uno$X)
Yvar <- var(uno$Y)
Corr <- cor(uno$X, uno$Y)
# Se guardan en un dataframe
SummaryStats <- data.frame(XProm, YProm, Xvar, Yvar, Corr)
SummaryStats
## XProm YProm Xvar Yvar Corr
## 1 9 7.500909 11 4.127269 0.8164205
# install.packages("ggplot2")
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.0.5
# Canvas sobre el que vamos a dibujar
plotAns <- ggplot(anscombe,aes(X,Y, color = Set))
# Diagrama de lineas
plotAns <- plotAns + geom_line()
# Regresion lineal
plotAns <- plotAns + geom_smooth(method=lm, se=FALSE)
# promedio X
plotAns <- plotAns + geom_vline (aes ( xintercept = SummaryStats[1,1]))
# promedio Y
plotAns <- plotAns + geom_hline (aes ( yintercept = SummaryStats[1,2]))
plotAns
## `geom_smooth()` using formula 'y ~ x'
# Canvas sobre el que vamos a dibujar
plotAns <- ggplot(anscombe,aes(X,Y))
# Diagrama de dispersion
plotAns <- plotAns + geom_point()
# Regresion lineal
plotAns <- plotAns + geom_smooth(method=lm, se=FALSE)
# promedio X
plotAns <- plotAns + geom_vline (aes ( xintercept = SummaryStats[1,1]))
# promedio Y
plotAns <- plotAns + geom_hline (aes ( yintercept = SummaryStats[1,2]))
# facetas
plotAns <- plotAns + facet_grid(. ~ Set)
plotAns
## `geom_smooth()` using formula 'y ~ x'
### Boxplot
# install.packages("esquisse")
# library(esquisse)
# esquisse::esquisser(anscombe)
ggplot(anscombe) +
aes(x = Set, y = Y) +
geom_boxplot(shape = "circle", fill = "#5295CD") +
labs(
x = "X",
y = "Y",
title = "Título",
subtitle = "Subtítulo"
) +
theme_minimal()