Tutorial R
Prof. Luiz A. Peternelli
Tutorial para uso básico do R
#análise de regressão
#após ler os dados (num data.frame) e dar o comando attach(nome_arquivo) usar a
função lm
#veja o exemplo, onde já estou criando diretamente o vetor no R:
x<-c(10,15,20,25,30)
y<-c(1003,1005,1010,1011,1014)
#fazendo a regressão
reg1<-lm(y~x)
#obtendo os valores estimados
predict(reg1)
#obtendo as estimativas dos coeficientes
coefficients(reg1)
#obtendo alguns resultados úteis: teste t e ANOVA
summary(reg1)
anova(reg1)
#construindo o diagrama de dispersão
plot(x,y)
abline(reg1) #para obter a reta
#execute a análise acima
#polinomial
#exemplo:
x<-scan()
1 2.5 4 5.5 7 8.5
y<-scan()
20.3 31.3 34.6 35.1 30.2 19.7
#para fazer a análise do modelo único (como um todo). Exemplo: de segundo grau
#aqui é útil para obter análise para polinômios ortogonais. Porém, os coeficientes
obtidos não se prestam diretamente para plotar o gráfico. Deve ser feita uma
transformação para chegar aos valores corretos.
reg2<-lm(y~poly(x,2))
> anova(reg2)
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value
Pr(>F)
poly(x, 2) 2 234.815 117.407
259.3 0.0004362 ***
Residuals
3
1.358
0.453
--Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 `
' 1
>
#para já obter a SQ (ortogonal) correspondente a cada efeito, e os coeficientes corretos,
podemos usar o seguinte comando
reg3<-lm(y~x+I(x^2))
> anova(reg3)
Analysis of Variance Table
1
Tutorial R
Prof. Luiz A. Peternelli
Response: y
Df Sum Sq Mean Sq F value
Pr(>F)
x
1
0.481
0.481
1.0614 0.378692
I(x^2)
1 234.334 234.334 517.5393 0.000186 ***
Residuals 3
1.358
0.453
--Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 `
' 1
>
#observe que a SQ associado aos dois graus de liberdade em
reg2 (234.815) é igual a soma das duas SQ associados aos
coeficientes do reg3 (0.481+234.334);
#querendo visualizar os coeficientes, faça:
coefficients(reg3)
#ou
summary(reg3)
#exemplo acima para a anova
coefficients(reg3)
#para plotar o gráfico
plot(x,y,ylim=c(20,37))
curve((11.242222+10.467698*x-1.113492*x*x),1,8.5,add=T)
#para obter ajuda nessa função, por exemplo, use
?curve
#para duas ou mais variáveis regressoras (por exemplo, x1, x2, x3 basta fazer
reg.multipla<-lm(y~x1+x2+x3)
#ou
reg.multipla<-lm(y~x1+x2+x3,nome_arquivo_dados)
Qualquer dúvida, email para [email protected]
2
Download

Tutorial 4