Analise exploratória das colunas
<?xml version="1.0" encoding="ISO-8859-1"?>
<Rscript>
<titulo>Analise exploratória das colunas</titulo>
<descricao>
Esta rotina de análise exploratória das colunas gera, para cada coluna do quadro ativo, um histograma, um box plot, um qq.plot normal além do sumário relativo aos dados.
Assim é possível avaliar se os dados seguem uma distribuição normal.
Para isso também é gerado um teste de Shapiro.
</descricao>
<autor>Oswaldo G Cruz</autor>
<email>oswaldo@fiocruz.br</email>
<versao>1.0</versao>
<parametro></parametro>
<parametro2></parametro2>
<colsel></colsel>
<colsel2></colsel2>
<script>
eda = function(x,nome)
{
if (!is.numeric(x) || !is.vector(x)) {
stop("argumento não é vetor ou não é numerico ")
}
par(mfrow = c(2, 2))
par(oma = c(1, 1, 2, 1))
densi = density(x)
xli = range(densi$x)
yli = range(densi$y)
hist(x,col="red",probability = T,xlim = xli, ylim = yli,main=paste("Histograma de ",nome))
lines(densi,lwd=2)
boxplot(x,col="limegreen")
points(1, mean(x), pch = 16,cex=1,col="blue")
title("Boxplot")
qqnorm(x, xlab="", sub="",main="qq-plot Normal")
qqline(x,col="orange",lwd=2)
plot(seq(1:50),seq(1:50),axes=F,type="n",ylab="",xlab="")
lugarnomes = list(x=c(24,24,24,24,24,24),y=c(50,42,34,26,18,10))
text(lugarnomes,c("Minimo =","1ºQuartil =","Mediana =","Média =","3ºQuartil =","Maximo ="),adj=1)
lugx=c(25,25,25,25,25,25)
lugy=c(50,42,34,26,18,10)
text(lugx,lugy,summary(x),adj=0)
if (length(x) >= 3 & length(x) <= 5000) {
s1 = shapiro.test(x)
text(16,2,"Shapiro test ",adj=1 )
text(16,2, paste("w=",round(s1$statistic,4),"p=",round(s1$p.value,4)),adj=0)
}
else {
text (15,2, "* teste de Shapiro não efetuado",adj=0)
}
title("Sumário")
}
grafico.tabwin()
library(ctest)
for(I in 1:length(tabela)) {if(is.numeric(tabela[,I])==TRUE) {eda(tabela[,I],names(tabela[I]))}}
</script>
<exemplo>
</exemplo>
</Rscript>