# Importar los datos
anscombe <- read.csv2("anscombe.csv")
# Imprimir la estructura de datos
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 ...
summary(anscombe)
## Set X Y
## Min. :1.00 Min. : 4 Min. : 3.100
## 1st Qu.:1.75 1st Qu.: 7 1st Qu.: 6.117
## Median :2.50 Median : 8 Median : 7.520
## Mean :2.50 Mean : 9 Mean : 7.501
## 3rd Qu.:3.25 3rd Qu.:11 3rd Qu.: 8.748
## Max. :4.00 Max. :19 Max. :12.740
head(anscombe)
## Set X Y
## 1 1 10 8.04
## 2 1 8 6.95
## 3 1 13 7.58
## 4 1 9 8.81
## 5 1 11 8.33
## 6 1 14 9.96
tail(anscombe)
## Set X Y
## 39 4 8 7.04
## 40 4 8 5.25
## 41 4 19 12.50
## 42 4 8 5.56
## 43 4 8 7.91
## 44 4 8 6.89
#convierto de numerico a categorico
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 ...
# Subconjuntos
uno <- subset(anscombe, Set=="1")
dos <- subset(anscombe, Set=="2")
tres <- subset(anscombe, Set=="3")
cuatro <- subset(anscombe, Set=="4")
#
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 dataset
SummaryStats <- data.frame(XProm, YProm, Xvar, Yvar, Corr)
SummaryStats
## XProm YProm Xvar Yvar Corr
## 1 9 7.500909 11 4.127269 0.8164205
#
XProm <- mean(dos$X)
YProm <- mean(dos$Y)
Xvar <- var(dos$X)
Yvar <- var(dos$Y)
Corr <- cor(dos$X, dos$Y)
# omita el signo '#' si no tiene la libreria descargada
#install.packages("ggplot2")
library(ggplot2)
# 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'

library(ggplot2)
# 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'
