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)

# ou poderia escrever assim
boxplot(caixeta$cap ~ caixeta$local)

# note o valor extremo em jureia
vl <- caixeta$local == "jureia" & caixeta$cap > 1500
caixeta[vl, ]
local parcela arvore fuste cap h especie ab
557 jureia 4 106 1 2100 160 Calophyllum brasiliensis 3463606
## espalhagrama
plot(h ~ cap, data = caixeta) # usando formula e especificacao dos dados

# apenas para jureia
plot(h ~ cap, data = caixeta, subset = local == "jureia")

plot(caixeta$h ~ caixeta$cap) # usando formula sem especificacao dos dados

plot(caixeta$cap, caixeta$h) # especificando eixos separadamente (veja inversao)

names(caixeta)
## [1] "local"   "parcela" "arvore"  "fuste"   "cap"     "h"       "especie"
## [8] "ab"
# mostra linha de tendencia da relacao
scatter.smooth(caixeta$cap, caixeta$h)

## 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"
pairs(iris) # todas as variaveis

pairs(iris[, -ncol(iris)], ) # menos a ultima coluna = especie

# colorindo por especie
pairs(iris[, -ncol(iris)], pch = 21, bg = c("red", "green", "blue")[unclass(iris$Species)])

?unclass # remove o atributo classe do objeto, então especies viram números
# 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