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
<- caixeta$local == "jureia" & caixeta$cap > 1500
vl 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)])
# remove o atributo classe do objeto, então especies viram números ?unclass
# 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%
<- cor(iris[, -ncol(iris)])
tbcor # na diagnoal
diag(tbcor)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1 1 1 1
# acima da diagonal
<- tbcor[upper.tri(tbcor)]
vacima # abaixo da diagonal
<- tbcor[lower.tri(tbcor)]
vabaixo # 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