Los datos

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

Estudio

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)