## ## Exemplo 1: dados dos desempenhos de alunos de duas turmas de CE-003 ## ## importando arquivo ce003 <- read.csv2("ce003-201101.csv", row.names=1) ## aumentando o numero de colunas visualização no terminal options(width=120) ## vendo a dimensão dos dados (numero de alunos e de variáveis) dim(ce003) ## exibindo os seis primeiros registros head(ce003) str(ce003) with(ce003, table(ResultadoFinal)) with(ce003, prop.table(table(ResultadoFinal))) with(ce003, mean(MediaFinal, na.rm=T)) with(ce003, range(MediaFinal, na.rm=T)) with(ce003, tapply(MediaFinal, Sexo, mean, na.rm=T)) with(ce003, tapply(MediaFinal, Turma, mean, na.rm=T)) with(ce003, tapply(MediaFinal, ResultadoFinal, mean, na.rm=T)) with(ce003, table(Sexo,ResultadoFinal)) with(ce003, prop.table(table(Sexo,ResultadoFinal))) addmargins(with(ce003, table(Sexo,ResultadoFinal))) with(ce003, prop.table(table(Sexo,ResultadoFinal), mar=1)) with(ce003, prop.table(table(Turma,ResultadoFinal), mar=1)) with(subset(ce003, ResultadoFinal!="R-FALTA"), prop.table(table(Turma,ResultadoFinal), mar=1)) with(ce003, plot(Faltas, MediaFinal)) ## Classificar cada uma das variáveis(QL: non. ou ord. / QT: disc. ou cont.)!! ## ## Tabelas e Gráficos para um atributo qualitativo nominal ## ## tabela de frequencias with(ce003, table(ResultadoFinal)) ## os nívies estão em ordem alfabética, mas podem ser reorganizados: ce003$ResultadoFinal <- factor(ce003$ResultadoFinal, lab=c("R-FALTA","Aprovado","Reprovado"), lev=c("R-FALTA","Aprovado","Reprovado")) class(ce003$ResultadoFinal) levels(ce003$ResultadoFinal) ## note a mudança na ordem dos valores na tabela with(ce003, table(ResultadoFinal)) ## tabelas para outras variáveis qualitativas with(ce003, table(Sexo)) with(ce003, table(Turma)) ## a tabela pode ser armazanada em um objeto tb <- with(ce003, table(ResultadoFinal)) ## e o objeto pode ser visualizado a qualquer momento tb ## frequencias relativas (em porcentagem) round(100*with(ce003, prop.table(tb)), dig=1) ## recalculando excluindo os reprovados por falta with(ce003[ce003$ResultadoFinal != "R-FALTA",], prop.table(table(ResultadoFinal))) ## outra forma de fazer seleção with(subset(ce003, ResultadoFinal != "R-FALTA"), prop.table(table(ResultadoFinal))) ## excluindo os níveis não incluídos na seleção (tb1 <- with(droplevels(subset(ce003, ResultadoFinal != "R-FALTA")), prop.table(table(ResultadoFinal)))) ## podemos criar um novo objeto com um subconjunto dos dados ce003a <- droplevels(subset(ce003, ResultadoFinal != "R-FALTA")) dim(ce003) ## todos alunos dim(ce003a) ## apenas n"ao reprovados por faltas ## gráficos pie(tb) ## todos os dados pie(tb1) ## sem considerar reprovados por faltas ## várias variáveis par(mfrow=c(2,3)) # dividindo a janela gráfica em 6 e reduzindo as margens with(ce003, table(Sexo)) with(ce003, table(Turma)) with(ce003, table(ResultadoFinal)) with(ce003a, table(Sexo)) with(ce003a, table(Turma)) with(ce003a, table(ResultadoFinal)) par(mfrow=c(2,3)) ## ## Tabelas e Gráficos para o cruzamento de 2 atributos qualitativos ## ## Tabelas cruzadas (note que o parentesis ao redor do comando imprime o resultado) (tbT.R <- with(ce003, table(Turma, ResultadoFinal))) ## porcentagens gerais, por linha e por coluna ## veja qual faz mais sentido para discussão que se quer fazer! (tbT.R1 <- prop.table(tbT.R)) (tbT.R2 <- prop.table(tbT.R, mar=1)) (tbT.R3 <- prop.table(tbT.R, mar=2)) ## algums opções de gráficos barplot(tbT.R) x11();barplot(prop.table(tbT.R, mar=2)) x11();barplot(t(tbT.R)) x11();barplot(t(tbT.R), beside=T, legend=T) barplot(tbT.R2) barplot(t(tbT.R2)) ## acessando a documentação das funções com help() ou ? help(barplot) ?prop.table rownames(ce003) with(ce003, table(MediaFinal)) with(ce003, table(cut(MediaFinal, br=(0:10)*10))) with(ce003, table(cut(MediaFinal, include.l=T,br=(0:5)*20))) with(ce003, hist(MediaFinal)) histMF <- with(ce003, hist(MediaFinal)) str(histMF) with(ce003, hist(MediaFinal, br=c(0, 20, 30, 40, 50, 60, 70, 100))) with(ce003, hist(MediaFinal, br=(0:5)*20)) summary(ce003$MediaFinal) with(ce003, summary(MediaFinal[ResultadoFinal != "R-FALTA"])) with(ce003, boxplot(MediaFinal~Turma)) with(ce003, boxplot(MediaFinal~Turma, varwidth=T)) with(ce003, by(MediaFinal,Turma, summary)) with(ce003, stem(MediaFinal)) ce003 <- transform(ce003, ano=as.numeric(substr(rownames(ce003), 4, 7))) with(ce003, table(ano)) rownames(ce003) table(substr(rownames(ce003), 4, 7)) urm with(ce003, table(MediaFinal)) with(ce003, table(cut(MediaFinal, breaks=(0:5)*20, include.l=T))) with(ce003, table(cut(MediaFinal, breaks=(0:10)*10, include.l=T))) par(mfrow=c(1,2)) ht <- with(ce003, hist(MediaFinal)) names(ht) ht$br ht <- with(ce003, hist(MediaFinal, br=(0:10)*10)) ht <- with(ce003, hist(MediaFinal, br=c(0,2,45,6,7,8,10)*10)) par(mfrow=c(1,2)) with(ce003, boxplot(MediaFinal~Turma, varwidth=T)) with(ce003, points(1:2, tapply(MediaFinal, Turma, mean, na.rm=T))) with(subset(ce003,ResultadoFinal != "R-FALTA"), boxplot(MediaFinal~Turma, varwidth=T)) with(subset(ce003,ResultadoFinal != "R-FALTA"), points(1:2, tapply(MediaFinal, Turma, mean, na.rm=T), col=2)) with(ce003, table(Turma, ResultadoFinal)) with(ce003, prop.table(table(Turma, ResultadoFinal), mar=1)) data(mtcars) head(mtcars) plot(mtcars[,c(1,4,6,7)]) cor(mtcars[,c(1,4,6,7)]) cor(mtcars[,c(1,4,6,7)], met="spearman") with(mtcars,plot(mpg ~hp)) with(mtcars,plot(mpg ~sqrt(hp))) with(mtcars,plot(mpg ~log(hp))) with(mtcars,plot(log(mpg) ~log(hp))) with(mtcars,plot(log(hp) ~log(mpg))) with(mtcars, hist(hp, prob=T)) lines(density(mtcars$hp)) with(mtcars, hist(log(hp), prob=T)) lines(density(log(mtcars$hp))) require(MASS) boxcox(mtcars$hp ~1) boxcox(mtcars$mpg ~1) require(car) scatterplotMatrix(mtcars[,c(1,4,6,7)]) mtcars <- transform(mtcars, lmpg = log(mpg), lhp = log(hp)) head(mtcars) names(mtcars) with(mtcars, table(cyl)) with(mtcars, table(am)) with(mtcars, table(carb)) with(mtcars, table(am, carb)) with(mtcars, table(am, cyl)) with(mtcars, prop.table(table(am, cyl), mar=1) ) plot(with(mtcars, prop.table(table(am, cyl), mar=1))) with(mtcars, chisq.test(cyl, am)) scatterplotMatrix(mtcars[,c(12,13,6,7)]) cor(mtcars[,c(1,4,6,7)]) cor(mtcars[,c(1,4,6,7)], met="sp") plot(prcomp(mtcars[,c(12,13,6,7)])) cor(mtcars[,c(12,13,6,7)]) data(mtcars) head(mtcars) with(mtcars, summary(mpg)) with(mtcars, summary(hp)) with(mtcars, table(cyl)) with(mtcars, table(am)) with(mtcars, table(gear)) with(mtcars, table(carb)) with(mtcars, table(cyl, am)) with(mtcars, addmargins(table(cyl, am))) with(mtcars, prop.table(table(cyl, am), mar=2)) plot(with(mtcars, prop.table(table(cyl, am), mar=2))) plot(with(mtcars, prop.table(table(am, cyl), mar=2))) with(mtcars, by(mpg, am, summary)) with(mtcars, boxplot(mpg~am)) chisq.test(with(mtcars, prop.table(table(am, cyl), mar=2))) par(mfrow=c(1,2)) with(mtcars, plot(mpg~wt)) with(mtcars, plot(wt~mpg)) with(mtcars, plot(hp~wt))