#################Exercícios da Aula 7 - Regressões Lineares Simples#############################3 #1. - Altura na Infância e Na Vida Adulta #Há uma crença do senso-comum de que basta duplicar a altura aos dois anos de idade para descobrir a altura que uma criança terá quando se tornar adulta. Imagine uma amostra de oito pessoas adultas, tomada ao acaso de uma população, para as quais temos as alturas atuais e as de quando tinham dois anos: #Altura aos dois anos (in) 39 30 32 34 35 36 36 30 #Altura adulto (in) 71 63 63 67 68 68 70 64 altura.c = c(39,30,32,34,35,36,36,30) altura.a = c(71,63,63,67,68,68,70,64) altura.esp= altura.c*2 altura.a.cm = altura.a*2.54 #1.1 - Faça uma regressão da altura na idade adulta em função da altura na idade de dois anos. Há uma relação significativa? Por que? > > plot(altura.a~altura.c) > altura.r = lm(altura.a~altura.c) > altura.esp = lm(altura.esp~altura.c) > #1.2 -Faça um gráfico de dispersão com os dados, e acrescente a linha da regressão, e a linha esperada pela crença. > > plot(altura.a~altura.c) > abline(altura.r, lty=2, col="blue") #linha da regressão > abline(altura.esp, lty=2, col="red") #linha esperada > #1.3 -Calcule os intervalos de confiança dos coeficientes. > > confint(altura.r) 2.5 % 97.5 % (Intercept) 24.2881165 46.069026 altura.c 0.6094693 1.247674 > > #1.4 -Seus resultados corroboram a hipótese do senso comum? Por que? A crença popular de duplicar a altura aos dois anos e resultar na altura na fase adulta não pode ser corroborada pela regressão. Já que o valor 2 de declividade dificilmente será obtido. #2. - Seriemas e Carcarás Use o conjunto de dados Aves no Cerrado para avaliar se o número de avistamentos de seriemas é afetado pelo número de Carcarás avistados, em cada fisionomia de cerrado. Para cada pergunta abaixo indique os comandos que usou para respondê-la (além de respondê-la ). aves.c = read.csv("aves_cerrado.csv", sep=";") #Correcao dos NAS aves.c$urubu[is.na(aves.c$urubu)==T] <- 0 aves.c$seriema[is.na(aves.c$seriema)==T] <- 0 aves.c$carcara[is.na(aves.c$carcara)==T] <- 0 str(aves.c) head(aves.c) #Correcao de fisionomias levels(aves.c$fisionomia) aves.c$fisionomia[aves.c$fisionomia=="ce"]="Ce" aves.c$fisionomia <- factor(aves.c$fisionomia, levels=c("CL","CC","Ce")) levels(aves.c$fisionomia) #2.1 - Há relações em alguma das fisionomias? #Separando as fisionomias aves.CC = aves.c[aves.c$fisionomia=="CC",] aves.Ce = aves.c[aves.c$fisionomia=="Ce",] aves.CL = aves.c[aves.c$fisionomia=="CL",] > #Para fisionomia CC > CC.r = lm(aves.CC$seriema~aves.CC$carcara) > plot(aves.CC$seriema~aves.CC$carcara) > abline(CC.r, lty=2, col="orange") > coef(CC.r) (Intercept) aves.CC$carcara 5.67584746 -0.08262712 > confint(CC.r) 2.5 % 97.5 % (Intercept) 1.5826103 9.7690846 aves.CC$carcara -0.4535155 0.2882613 > > #Para fisionomia Ce > Ce.r = lm(aves.Ce$seriema~aves.Ce$carcara) > plot(aves.Ce$seriema~aves.Ce$carcara) > abline(Ce.r, lty=2, col="orange") > coef(Ce.r) (Intercept) aves.Ce$carcara 7.2526904 -0.1411600 > confint(Ce.r) 2.5 % 97.5 % (Intercept) 3.3511491 11.1542317 aves.Ce$carcara -0.3876934 0.1053733 > > #Para fisionomia CL > CL.r = lm(aves.CL$seriema~aves.CL$carcara) > plot(aves.CL$seriema~aves.CL$carcara) > abline(CL.r, lty=2, col="orange") > coef(CL.r) (Intercept) aves.CL$carcara 7.5833333 -0.4507576 > confint(CL.r) 2.5 % 97.5 % (Intercept) 4.985109 10.1815579 aves.CL$carcara -1.004701 0.1031858 > anova(CC.r) Analysis of Variance Table Response: aves.CC$seriema Df Sum Sq Mean Sq F value Pr(>F) aves.CC$carcara 1 1.289 1.289 0.2191 0.6454 Residuals 18 105.911 5.884 > anova(Ce.r) Analysis of Variance Table Response: aves.Ce$seriema Df Sum Sq Mean Sq F value Pr(>F) aves.Ce$carcara 1 7.129 7.129 1.4471 0.2446 Residuals 18 88.671 4.926 > anova(CL.r) Analysis of Variance Table Response: aves.CL$seriema Df Sum Sq Mean Sq F value Pr(>F) aves.CL$carcara 1 10.728 10.728 2.9226 0.1045 Residuals 18 66.072 3.671 O resultado da anova() mostra que carcara explica muito pouco sobre a variação de seriemas nas 3 fisionomias. Entre as 3 fisionomias, somente a Campo Limpo obteve um Somatório de Variação maior que 10000. #2.2 -Há diferenças entre as fisionomias? > coef(CC.r) (Intercept) aves.CC$carcara 5.67584746 -0.08262712 > confint(CC.r) 2.5 % 97.5 % (Intercept) 1.5826103 9.7690846 aves.CC$carcara -0.4535155 0.2882613 > coef(Ce.r) (Intercept) aves.Ce$carcara 7.2526904 -0.1411600 > confint(Ce.r) 2.5 % 97.5 % (Intercept) 3.3511491 11.1542317 aves.Ce$carcara -0.3876934 0.1053733 > coef(CL.r) (Intercept) aves.CL$carcara 7.5833333 -0.4507576 > confint(CL.r) 2.5 % 97.5 % (Intercept) 4.985109 10.1815579 aves.CL$carcara -1.004701 0.1031858 plot(aves.c$seriema~aves.c$carcara) abline(CC.r, col="blue") abline(Ce.r, col="red") abline(CL.r, col="gold") aves.c1 = lm(aves.c$seriema~aves.c$carcara) confint(aves.c1) coef(aves.c1) anova(aves.c1) aves.c2 = lm(aves.c$seriema~aves.c$carcara+aves.c$fisionomia) confint(aves.c2) coef(aves.c2) anova(aves.c2) summary(aves.c2) aves.c3 = lm(aves.c$seriema~aves.c$carcara*aves.c$fisionomia) confint(aves.c3) coef(aves.c3) anova(aves.c3) As regressoes mostram não haver relação significativa de seriema vs carcara + fisionomias. Os R2 obtidos para as regressoes tambem sao muito baixos, indicando que as variaveis explicam pouco a variacao de serimemas. A única observacao que se pode tentar extrair esta na tendancia negativa (menos seriemas conforme aumenta carcarás) das fisionomias pelo coeficiente das regressoes, mesmo assim o intervalo de confianca nos diz que essa relação pode ser negativa, nula e até mesmo positiva. A relação parece ser mais negativa para o Campo limpo #3. - Resíduos de Iris #Uma maneira simples de descontar o efeito indesejado de uma co-variável é usar os resíduos de uma regressão de sua variável de interesse em função desta #co-variável. Use as observações da espécie Iris setosa, no objeto de dados iris para: #3.1 - Fazer e interpretar uma regressão da largura da sépala em função do comprimento da sépala. > iris.setosa = iris[iris$Species=="setosa", ] > iris.r = lm(Sepal.Width~Sepal.Length, data=iris.setosa) > summary(iris.r) Call: lm(formula = Sepal.Width ~ Sepal.Length, data = iris.setosa) Residuals: Min 1Q Median 3Q Max -0.723945 -0.182731 -0.003062 0.157380 0.517086 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -0.5694 0.5217 -1.091 0.281 Sepal.Length 0.7985 0.1040 7.681 6.71e-10 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.2565 on 48 degrees of freedom Multiple R-squared: 0.5514, Adjusted R-squared: 0.542 F-statistic: 58.99 on 1 and 48 DF, p-value: 6.71e-10 > anova(iris.r) Analysis of Variance Table Response: Sepal.Width Df Sum Sq Mean Sq F value Pr(>F) Sepal.Length 1 3.8821 3.8821 58.994 6.71e-10 *** Residuals 48 3.1587 0.0658 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 A regressão aponta haver uma relação forte entre a largura da sepala e seu comprimento. #3.2 - Fazer e interpretar a mesma regressão, mas descontando do efeito do comprimento da pétala de cada variável. iris.r1 = lm(Sepal.Width~Petal.Length, data=iris.setosa) iris.r2 = lm(Sepal.Length~Petal.Length, data=iris.setosa) R.larg = iris.r1$residuals R.comp = iris.r2$residuals iris.r3 = lm(R.larg~R.comp) plot(R.larg~R.comp) anova(iris.r3) summary(iris.r3) > anova(iris.r3) Analysis of Variance Table Response: R.larg Df Sum Sq Mean Sq F value Pr(>F) R.comp 1 3.6630 3.6630 55.722 1.431e-09 *** Residuals 48 3.1554 0.0657 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 > summary(iris.r3) Call: lm(formula = R.larg ~ R.comp) Residuals: Min 1Q Median 3Q Max -0.728584 -0.184140 -0.003015 0.164604 0.517692 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 9.096e-18 3.626e-02 2.51e-16 1 R.comp 8.049e-01 1.078e-01 7.465 1.43e-09 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.2564 on 48 degrees of freedom Multiple R-squared: 0.5372, Adjusted R-squared: 0.5276 F-statistic: 55.72 on 1 and 48 DF, p-value: 1.431e-09 A regressão dos residuos de comprimento remove a variação de covariança de comprimento de petala. Pelos valores de variança obtidos na anova de iris.r3, podemos concluir que a relacao entre a largura e comprimento de sepala contra a de comprimento de petalas é muito pequena ou inexistente, já que que os resíduos não explicados permanecem praticamente inalterados.