# source("E:\\mini_curso_R_CESPE\\Script.txt") ######################################################## ######################################################## ######################################################## ######################################################## ######################################################## # # Operações básicas, vetores e matrizes # ######################################################## ######################################################## ######################################################## ######################################################## ######################################################## ###################### # Somando dois números 2+2 ###################### # Subtraindo-se dois números 2-2 ###################### # Multiplicando-se dois números 2*2 ###################### # Dividindo-se dois números 2/2 ########################## # Definindo um vetor linha x <- cbind(1,3,7,5,2) x ########################## # Definindo um vetor coluna y <- rbind(15,20,28,21,18) y ########################## # Transformando o vetor x em vetor coluna x <- t(x) x # Funçoes no R # Tem como entrada matrizes e como saída uma lista de objetos # help : ?nomedafunção # help.search("nomedafuncao") ######################################################## ######################################################## ######################################################## ######################################################## ######################################################## # # Gráficos e algumas funções # ######################################################## ######################################################## ######################################################## ######################################################## ######################################################## ########################## # Calculando-se esatísticas descritivas de cada variável summary(x) summary(y) # media, variância, desvio-padrão e coeficiente de variação cat("A média da variável x é :",mean(x),"\n") cat("A variância da variável x é :",var(x),"\n") cat("O desvio-padrão da variável x é :",sqrt(var(x)),"\n") cat("O coeficiente de variação da variável x é :",(sqrt(var(x))/mean(x))*100,"\n") # Criando uma matriz com as estatítisticas descritivas de x e y est.desc.xy <- cbind(rbind(mean(x),var(x),sqrt(var(x)),(sqrt(var(x))/mean(x))*100), rbind(mean(y),var(y),sqrt(var(y)),(sqrt(var(y))/mean(y))*100)) est.desc.xy est.desc.xy.1 <- round(est.desc.xy,2) est.desc.xy.1 # Criando um tabela de medidas descritivas para os valores rbind(summary(x),paste("Var. :",var(x)),paste("DP : ",round(sqrt(var(x)),1)),paste("CV(%) : ",round((sqrt(var(x))/mean(x))*100,1))) ############################# # # Histogramas hist(x) hist(y) # Adicionando-se informações no gráfico hist(x,xlab="nota", probability=TRUE,ylab="densidade",main="Histograma da nota") hist(y,xlab="renda",probability=TRUE, ylab="densidade",main="Histograma da renda") ########################## # Plotando os valores de y versus x plot(x,y) ########################## # Mais detalhes no gráfico plot(x,y,xlab="renda em salarios minimos dos pais",ylab="escore do respondente",main="Renda dos pais x Nota") ############################ # # Box-plot boxplot(x,main="Box-plot da var. renda") boxplot(y,main="Box-plot das var. notas") ########################## # Definindo-se uma matriz a partir dos vetores Calculando-se esatísticas descritivas de cada variável z <- cbind(x,y) ############################ # Medidas resumo da matriz z summary(z) ############################# # Operações matriciais # Multiplicação elemento a elemento z*z # Multiplicação matrical w <- t(z)%*%z w # Inversão solve(w) # Produto de Kronecker v<- kronecker(z,t(z)) # Referências a elementos de z z[1,1] z[,1] z[2,] z[,1:2] z[1:2,] z[1:2,1:2] ######################################################## ######################################################## ######################################################## ######################################################## ######################################################## # # Listas e data.frame # ######################################################## ######################################################## ######################################################## ######################################################## ######################################################## ################################## # Criando-se uma lista de objetos # # Útilo para se armazenar resultados # de funções ml <- list(renda=x,nota=y) ml$renda ml$nota ################################### # Atribuindo-se nomes as observações nomes<-rbind("Caio","Girlene","Camila","Amanda","Gabriela") rownames(z) <- nomes # rownames(ml) <- nomes não é possível utilizar tal recurso em uma lista ########################## # Atribuindo-se nomes as variáveis variav<-rbind("renda","nota") colnames(z) <- variav # colnames(ml) <- nomes não é possível utilizar tal recurso em uma lista ########################################################## # Matrizes e listas possuem propriedas comuns e algumas # diferenças. Seria possível unir todas as características # # # ########################################## # Definindo-se um data frame a partir de z # # Data framE: matriz com propriedades de lista # # z<- data.frame(z) z[,1] z[,2] z$renda z$nota ######################################################################## # Definindo-se mais duas variáveis (categorizadas) para o banco de dados formacao <- rbind("Est","Psi","Psi","Est","Est") proced <- rbind("Nordeste","Nordeste","Sudeste","Sudeste","Sudeste") ####################################################################### # Adicionando-se essas variáveis ao data frame z<- cbind(z,formacao,proced) ################################ # Listar os "objetos" disponíveis ls() ################################# # Salva o data.frame z write.table(z,file="E:\\mini_curso_R_CESPE\\dadoscurso.txt") ################################## # Remove todos os objetos da # área de trabalho rm(z) ls() z ################################# # Carregando o data.frame z z<-read.table(file="E:\\mini_curso_R_CESPE\\dadoscurso.txt") z ######################################################## ######################################################## ######################################################## ######################################################## ######################################################## # # Alguns métodos estatísticos # ######################################################## ######################################################## ######################################################## ######################################################## ######################################################## ###################################### # Ajustando um modelo de regressão # para explicar nota em funcao da renda # Lembrando plot(x,y,xlab="renda em salarios minimos dos pais",ylab="escore do respondente",main="Renda dos pais x Nota") resultreg<-lm(z$nota~z$renda) resultreg # Visualizando os resultados do ajuste do modelo summary(resultreg) # Verificando os objetos disponíveis names(resultreg) # Visualizando os coeficientes da regressão resultreg$coefficients # Armazenando os coeficientes num vetor (sem os nomes) beta<-cbind(c(cbind(resultreg$coefficients))) fitted <- resultreg$fitted.values residual <- resultreg$residuals # Plotando os valores observados versos os preditos plot(z$renda,z$nota,xlab="renda em salarios minimos dos pais",ylab="escore do respondente",main="Renda dos pais x Nota",pch=19) lines(z$renda,fitted,type="p",pch=17,col=3) # Adicionando-se uma legenda ao gráfico legend(2,26, legend=rbind("observado","ajustado"),pch=cbind(19,17),col=rbind(1,3)) # Adicionando-se a reta ajustada m.X <- cbind(seq(1,1,length.out=100),seq(1,7,length.out=100)) plot(z$renda,z$nota,xlab="renda em salarios minimos dos pais",ylab="escore do respondente",main="Renda dos pais x Nota",pch=19) lines(z$renda,fitted,type="p",pch=17,col=3) lines(m.X[,2],m.X %*% beta,lty=2,col=4) legend(2,26, legend=rbind("observado","ajustado","reta ajustada"),pch=cbind(19,17,46),lty=cbind(0,0,4),col=rbind(1,3,4)) # Colocar vários gráficos numa só Janela par(mfrow=c(1,3)) # Valores observados, preditos e reta ajusatda plot(z$renda,z$nota,xlab="renda em salarios minimos dos pais",ylab="escore do respondente",main="Renda dos pais x Nota",pch=19) lines(z$renda,fitted,type="p",pch=17,col=3) lines(m.X[,2],m.X %*% beta,lty=2,col=4) legend(2,26, legend=rbind("observado","ajustado","reta ajustada"),pch=cbind(19,17,46),lty=cbind(0,0,4),col=rbind(1,3,4)) # Resíduos x renda plot(z$renda,residual,xlab="renda dos pais",ylab="residuos",main="Resíduos x renda") abline(0,0) # Resíduos x valores preditos plot(fitted,residual,xlab="valores preditos",ylab="residuos",main="Resíduos x valores preditos") abline(0,0) # Lista de parâmetros dos gráficos # ?par ########################## # Tabelas de contingência # Variáveis categorizadas table(z$formacao,z$proced) result.table <-table(z$formacao,z$proced) summary(result.table) names(result.table) ############################### # Medidas descritivas pro grupo tapply(z$nota,z$proced,mean) tapply(z$nota,z$formacao,mean) tapply(z$renda,z$proced,mean) tapply(z$renda,z$formacao,mean) tapply(z$nota,list(z$proced,z$formacao),mean) ################ # # Box plot # boxplot(z$nota~z$proced) boxplot(z$nota~z$formacao) #boxplot(z$nota~(z$formacao*z$proced)) ####################### ####################### ####################### # Análise de variância # Fator 1: formacao formacao <- C(z$formacao) # Fator 2: procedencia proced <- C(z$proced) #anova <- lm(z$nota ~ C(z$formacao,contr="treatment") + C(z$proced,contr="treatment")) anova <- lm(z$nota ~ formacao + proced) # summary(anova) ################################## # # Análise de bancos de dados reais # #library(help="datasets") # inteligence.data<-cbind(iris,rbind(x1,x2)) # x1<-cbind(rep("Publica",90)) # x2<-cbind(rep("Privada",60)) # Maximo por abilidade : 8, 6, 7, 3 # write.table(int.data,file="E:\\mini_curso_R_CESPE\\inteligence.data.txt") int.data<-read.table(file="E:\\mini_curso_R_CESPE\\inteligence.data.txt") cor(int.data[,1:4]) Espacial <- cbind(int.data$Espacial) Linguistica<- cbind(int.data$Linguistica) Interpretativa <- cbind(int.data$Interpretativa) Logica <- cbind(int.data$Logica) Social<- int.data$Social Escola <-int.data$Escola ################################### # # Histogramas das variáveis # par(mfrow=c(2,2)) hist(int.data[int.data[,6]=="publica",1],xlab="nota",ylab="frequencia",probability=TRUE,main="Histograma: publica Espacial") hist(int.data[int.data[,6]=="privada",1],xlab="nota",ylab="frequencia",probability=TRUE,main="Histograma: privada Espacial") hist(int.data[int.data[,6]=="publica",2],xlab="nota",ylab="frequencia",probability=TRUE,main="Histograma: publica Linguistica") hist(int.data[int.data[,6]=="privada",2],xlab="nota",ylab="frequencia",probability=TRUE,main="Histograma: privada Linguistica") ###################################### # # Medidas resumo # tapply(Espacial,list(Social,Escola),mean) tapply(Linguistica,list(Social,Escola),mean) tapply(Interpretativa,list(Social,Escola),mean) tapply(Logica,list(Social,Escola),mean) ################################# # # Box-plot por grupo para cada variável # # par(mfrow=c(2,2)) # Social boxplot(Espacial~Social ,main="Box-plot Espacial") boxplot(Linguistica~Social ,main="Box-plot Linguistica") boxplot(Interpretativa~Social ,main="Box-plot Interpretativa ") boxplot(Logica~Social ,main="Box-plot Logica") par(mfrow=c(2,2)) # Escola boxplot(Espacial~Escola,main="Box-plot Espacial") boxplot(Linguistica~Escola ,main="Box-plot Linguistica") boxplot(Interpretativa~Escola ,main="Box-plot Interpretativa ") boxplot(Logica~Escola,main="Box-plot Logica") par(mfrow=c(2,2)) # Escola x Social boxplot(Espacial~Social*Escola,main="Box-plot Espacial") boxplot(Linguistica~Social*Escola ,main="Box-plot Linguistica") boxplot(Interpretativa~Social*Escola ,main="Box-plot Interpretativa ") boxplot(Logica~Social*Escola,main="Box-plot Logica") # Package Sciplot # lineplot.CI ############################# ############################# # # Componentes principais # anacomp <- princomp(int.data[,1:4],cor=TRUE) screeplot(anacomp) anacomp summary(anacomp) escores.int <- cbind(-(anacomp $scores)[,1]) par(mfrow=c(2,2)) boxplot(escores.int~Social,main="Box-plot Espacial") boxplot(escores.int~Escola,main="Box-plot Espacial") boxplot(escores.int~Social*Escola,main="Box-plot Espacial") # Gráficos de perfis médios lineplot.CI(x.factor=Social,response=escore.int,group=Escola) ############################### # # Anova para O escore # sfac <- C(Social) efac <- C(Escola) anovaprin <- lm(escores.int ~sfac + efac) summary(anovaprin) ############################# ############################# # # Análise fatorial # anafat <- factanal(int.data[,1:4],factors=1,scores=c("regression")) anafat summary(anafat) names(anafat) fac.int <- anafat$scores par(mfrow=c(2,2)) boxplot(fac.int~Social,main="Box-plot Espacial") boxplot(fac.int~Escola,main="Box-plot Espacial") boxplot(fac.int~Social*Escola,main="Box-plot Espacial") ############################### # # Anova para O escore # sfac <- C(Social) efac <- C(Escola) anovaprin <- lm(fac.int ~sfac + efac) summary(anovaprin)