13.4 Variável numérica vs. numérica
Qual a relação entre as variáveis? É linear? Que hipóteses ou interpretação biológica eu faço das relações entre as variáveis? Qual a colinearidade dos meus dados?
Para entender a razão e a importância dessas perguntas, veja a definição na WikiPedia sobre o efeito de colinearidade em regressões múltiplas.
A função pairs() mostra as correlações das variáveis par a par de maneira gráfica, que podem ser estimadas por meio da função cor().
## Exemplos de Graficos bivariados
## boxplot (já vimos o que isso significa)
# mostra a variacao do avistamento de urubus nas diferentes fisionomias
boxplot(cap ~ local, data = caixeta)| local | parcela | arvore | fuste | cap | h | especie | ab | |
|---|---|---|---|---|---|---|---|---|
| 557 | jureia | 4 | 106 | 1 | 2100 | 160 | Calophyllum brasiliensis | 3463606 |
## [1] "local" "parcela" "arvore" "fuste" "cap" "h" "especie"
## [8] "ab"
## pairs
## Matriz de espalhagramas das medidas das arvores no dataframe iris
data(iris)
names(iris)## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
# colorindo por especie
pairs(iris[, -ncol(iris)], pch = 21, bg = c("red", "green", "blue")[unclass(iris$Species)])# poderia fazer assim, tendo em vista que iris$Species é um fator:
pairs(iris[, -ncol(iris)], pch = 21, bg = c("red", "green", "blue")[as.numeric(iris$Species)])## Essa figura é basicamente a expressao grafica da matriz de correlações entre todas as variáveis:
cor(iris[, -ncol(iris)])| Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | |
|---|---|---|---|---|
| Sepal.Length | 1.0000000 | -0.1175698 | 0.8717538 | 0.8179411 |
| Sepal.Width | -0.1175698 | 1.0000000 | -0.4284401 | -0.3661259 |
| Petal.Length | 0.8717538 | -0.4284401 | 1.0000000 | 0.9628654 |
| Petal.Width | 0.8179411 | -0.3661259 | 0.9628654 | 1.0000000 |
# veja que essa matriz é simétrica e a diagonal tem valores =1, pois a correlação entre a variável e ela mesma é 100%
tbcor <- cor(iris[, -ncol(iris)])
# na diagnoal
diag(tbcor)## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1 1 1 1
# acima da diagonal
vacima <- tbcor[upper.tri(tbcor)]
# abaixo da diagonal
vabaixo <- tbcor[lower.tri(tbcor)]
# entao, se é simétrica, os vetores contém os mesmos valores (a ordem não é a mesma por isso o sort)
sort(vacima) == sort(vabaixo)## [1] TRUE TRUE TRUE TRUE TRUE TRUE