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>