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