<div dir="ltr">Fantástico codigo Fernando vou usar com certeza.<div><br></div><div>Me tire uma dúvida: meu data set tem bastante Missing, eu devo removê-los antes de verificar a normalidade ou a função em si já trata isso ?</div></div><div class="gmail_extra"><br><div class="gmail_quote">Em 6 de maio de 2016 09:12, Elias Carvalho <span dir="ltr"><<a href="mailto:ecacarva@gmail.com" target="_blank">ecacarva@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Bom dia Pessoal<div><br></div><div>Eu tenho o seguinte data frame:</div><div><br></div><div><pre style="font-family:'Ubuntu Mono';outline:none;border:none;margin-top:0px;margin-bottom:0px;line-height:12.3077px;color:rgb(255,255,255);font-size:10.4pt!important;white-space:pre-wrap!important;background-color:rgb(0,34,64)">'data.frame': 1999 obs. of 14 variables:
$ AGE: int 21 31 44 46 49 50 52 64 23 33 ...
$ PHA: Factor w/ 2 levels "NO","YES": 1 1 1 1 1 1 1 1 2 2 ...
$ SMK: Factor w/ 2 levels "NO","YES": 1 1 1 1 1 1 1 1 1 1 ...
$ ALC: Factor w/ 2 levels "NO","YES": 1 1 1 1 1 NA 2 NA 1 NA ...</pre><pre style="font-family:'Ubuntu Mono';outline:none;border:none;margin-top:0px;margin-bottom:0px;line-height:12.3077px;color:rgb(255,255,255);font-size:10.4pt!important;white-space:pre-wrap!important;background-color:rgb(0,34,64)"><br></pre><pre style="font-family:'Ubuntu Mono';outline:none;border:none;margin-top:0px;margin-bottom:0px;line-height:12.3077px;color:rgb(255,255,255);font-size:10.4pt!important;white-space:pre-wrap!important;background-color:rgb(0,34,64)"><br></pre><div><br></div><div>E preciso rodar uma rotina para verificar a normalidade de cada variável de uma só vez, então fiz assim (ps: me perdoem o 'for' eu sou programador das antigas e ainda estou aprendendo a user os ...apply):</div><div><br></div><div><div>for (x in 1:length(names(data)))<b> # vai de 1 a 4 passando por todas as variáveis </b></div><div>{</div></div><div><b> # Insere o nome da variável em uma matriz</b></div><div> commandP <- paste("nmatrix[",x,",1] <- names(data)[x]", sep="")</div><div> eval(parse(text=commandP)) </div><div><b> # aplicar apenas para variaveis continuas</b></div><div><div><b> if (!is.factor(data$names(data)[x])) </b></div><div> {</div><div> <b># na coluna 2 da matriz insere valores referente a skewness</b></div><div> commandP <- paste("nmatrix[",x,",2] <- round(skewness(data$", names(data)[x],"),2)", sep="")<br></div><div> eval(parse(text=commandP))</div><div> <b># na coluna3 da matriz insere valores referente a kurtosis</b></div><div> commandP <- paste("nmatrix[",x,",3] <- round(kurtosis(data$", names(data)[x],"),2)", sep="")<br></div><div> eval(parse(text=commandP))</div><div> <b> # gera um histograma para cada variável</b> já com par(mfrow...) calculado de acordo com o </div><div> # numero de variáveis </div><div> commandP <- paste("hist(data$", names(data)[x],")", sep="")</div><div> eval(parse(text=commandP))</div><div> <b># gera um gráfico de quartil para cada variável já com par(mfrow...) calculado de </b></div><div><b> # acordo </b><b>com a quantidade de variáveis</b> </div><div> commandP <- paste("qqnorm(data$", names(data)[x],")", sep="")<br></div><div> eval(parse(text=commandP))</div><div><b> # Insere a linha no gráfico </b></div><div> commandP <- paste("abline(0,1)", sep="")</div><div> eval(parse(text=commandP))</div><div> }</div></div><div><br></div><div>O Resultado que quero parecido com o abaixo, mas para todas as variáveis:</div><div><pre style="font-family:'Ubuntu Mono';outline:none;border:none;margin-top:0px;margin-bottom:0px;line-height:12.3077px;color:rgb(255,255,255);font-size:10.4pt!important;white-space:pre-wrap!important;background-color:rgb(0,34,64)"><span style="color:rgb(255,157,0)">nmatrix
</span> [,1] [,2] [,3]
[1,] "AGE" "-0.13" "2.28"</pre></div><div><br></div><div><img src="cid:ii_invobuvg0_15485f4560fee924" width="541" height="309"><br><br></div><div><br></div><div><br></div><div>O meu problema é na linha if (!is.factor(data$names(data)[x])) que identifica todas as variáveis como caracter, o que não está errado, pois pega por exemplo "AGE" e então sempre retorna falso e na verdade eu queria algo como "!is.factor(data$AGE), !is.factor(data$SMK)....</div><div><br></div><div>ou se alguem conhecer um pacote que faça isso de maneira mais fácil agradeço a sugestão</div><div><br></div><div>Obrigado <br></div>-</div><div><br></div><div>Elias<br><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><a href="http://lattes.cnpq.br/4248328961021251" target="_blank"></a><br></div></div></div></div></div></div>
</div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr">Best regards... 8^)<br><br>“<span style="font-size:12.8px">The mind that is open to new ideas never come back</span><div><span style="font-size:12.8px">to its original size</span>” <i style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline;color:rgb(51,51,51);font-family:Arial,Verdana,sans-serif;line-height:21px;background-color:rgb(255,255,255)">Albert Einstein</i><span style="font-size:13px;color:rgb(51,51,51);font-family:Arial,Verdana,sans-serif;line-height:21px;background-color:rgb(255,255,255)"> </span><br><br><br><span style="font-size:small">-- </span><br style="font-size:small"><div style="font-size:small"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Obrigado</div><div>Elias</div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>