Los datos con los que se trabajan estĆ”n formados por 1167 entradas con 9 variables. Se trata de distintos Pokemons y algunas de sus estadĆsticas en atributos como ataque, velocidad, tipo⦠Veamos la estructura de los datos visualizando las 4 primeras filas.
table[0:4,]
## id Name Type Total HP Attack Defense Special.Attack
## 1 001 Bulbasaur GRASS 318 45 49 49 65
## 2 001 Bulbasaur POISON 318 45 49 49 65
## 3 002 Ivysaur GRASS 405 60 62 63 80
## 4 002 Ivysaur POISON 405 60 62 63 80
## Special.Defense Speed
## 1 65 45
## 2 65 45
## 3 80 60
## 4 80 60
Veamos a grandes rasgos cómo se relacionan estos atributos.
plot(table[,3:10])
Veamos la correlación entre los distintos atributos de tipo numérico (Total, HP, Attack, Defense, Special.Attack, Special.Defense y Speed).
correlation = cor(table[,4:10])
round(correlation, 2)
## Total HP Attack Defense Special.Attack Special.Defense
## Total 1.00 0.65 0.73 0.60 0.74 0.70
## HP 0.65 1.00 0.46 0.24 0.39 0.37
## Attack 0.73 0.46 1.00 0.42 0.37 0.22
## Defense 0.60 0.24 0.42 1.00 0.18 0.51
## Special.Attack 0.74 0.39 0.37 0.18 1.00 0.48
## Special.Defense 0.70 0.37 0.22 0.51 0.48 1.00
## Speed 0.58 0.21 0.38 0.01 0.49 0.25
## Speed
## Total 0.58
## HP 0.21
## Attack 0.38
## Defense 0.01
## Special.Attack 0.49
## Special.Defense 0.25
## Speed 1.00
Podemos representar esta misma información en un correlograma donde las correlaciones positivas se muestran en azul y las correlaciones negativas en rojo. La intensidad del color y el tamaƱo del cĆrculo son proporcionales a los coeficientes de correlación.
corrplot(correlation, type = "upper", order = "hclust",
tl.col = "black", tl.srt = 45)
Podemos ver como no hay correlación entre los atributos Defense y Speed y que la variable Total es la única que tiene correlación con todas las demÔs. Otras correlaciones significativas (aunque menores) son Speed-Special.Attack, Special.Attack-Special.Defense, Defense-Special.Defense y Hp-Attack.
Veamos todos los atributos de todos los pokemons segĆŗn el tipo.
par(xpd=TRUE)
parcoord(table[,4:10],var.label = TRUE, col= table$Type)
legend(7,1.2, legend=levels(table$Type), pch=16, col=unique(table$Type),pt.cex = 1 , cex=0.51)
Veamos si para distintos tipos de pokemons la relación entre atributos es diferente. En primer lugar, obtenemos los tipos de pokemons.
tipos=unique(as.vector(table$Type))
A continuación calculamos la correlación entre sus atributos
for(i in tipos){
filtered = subset(table, table$Type==i)
correlation = cor(filtered[,4:10])
corrplot(correlation, type = "upper", order = "hclust",
tl.col = "black", tl.srt = 30)
title(sub=i, line=4)
}
Llaman la atención los pokemons de tipo āROCKā que tienen atributos correlacionados de forma negativa. VisualicĆ©moslos.
rock<- subset(table, table$Type=='ROCK') [,4:10]
plot(rock)
En concreto, Speed y Defense
rock<- subset(table, table$Type=='ROCK') [,4:10]
plot(rock$Speed, rock$Defense)