<div dir="ltr"><div><div><div><span style="font-family:monospace,monospace">Olá pessoal!<br><br></span></div><span style="font-family:monospace,monospace">Gostaria
 de escrever uma função no R que fosse capaz de gerar uma única tabela 
com, por exemplo, média, desvio-padrão, mínimo, máximo e tamanho da 
amostra, para várias variaveis.<br><br></span></div><span style="font-family:monospace,monospace">Fiz o script abaixo aproveitando uma sugestão de Simon O'Hanlon no stackoverflow:<br><br></span><span style="font-family:monospace,monospace">a <- c(4,5,3,2,8)<br>b <- c(3,2,7,6,1)<br>c <- c(7,6,5,8,7)<br>bd <- data.frame(a,b,c)<br><br>res <- lapply( bd , function(x) rbind( media = mean(x) ,<br>                                   dp = sd(x) ,<br>                                   minimo = min(x) ,<br>                                   maximo = max(x) ,<br>                                   n = length(x) ) )<br>data.frame( res )<br clear="all"></span><div><span style="font-family:monospace,monospace"><br>> data.frame( res )<br>            a      b      c<br>media  4,4000 3,8000 6,6000<br>dp     2,3022 2,5884 1,1402<br>minimo 2,0000 1,0000 5,0000<br>maximo 8,0000 7,0000 8,0000<br>n      5,0000 5,0000 5,0000<br><br></span></div><div><span style="font-family:monospace,monospace">O
 problema é que gostaria de que esse resultado estivesse transposto, 
quero dizer, com as estatísticas nas colunas e as variáveis nas linhas, 
assim:<br><br></span></div><div><span style="font-family:monospace,monospace">   media dp minimo maximo n<br></span></div><div><span style="font-family:monospace,monospace">a<br></span></div><div><span style="font-family:monospace,monospace">b<br></span></div><div><span style="font-family:monospace,monospace">c<br></span></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">Tentei mudar o script, mas não consegui o resultado desejado (o cbind bagunça).<br></span></div><div><span style="font-family:monospace,monospace">Há uma solução para isso sem precisar recorrer a funções prontas?<br></span></div><span style="font-family:monospace,monospace"><div class=""><div id=":1xo" class="" tabindex="0"><br></div><div id=":1xo" class="" tabindex="0">Como havia enviado essa mensagem para a lista no período em que houve o problema técnico<img class="" src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif">, voltei aos estudos e encontrei uma solução simples em uma apostila do professor Paulo:<br><br> t(data.frame( res ))<br>  media     dp minimo maximo n<br>a   4,4 2,3022      2      8 5<br>b   3,8 2,5884      1      7 5<br>c   6,6 1,1402      5      8 5<br><br></div><div id=":1xo" class="" tabindex="0">Deixo então na lista o problema e a solução porque pode ser útil para alguem.<br></div><div id=":1xo" class="" tabindex="0">Essa função é interessante porque aceita diversas modificações, como outras estatísticas, arredondamento, etc.<br><br></div><div id=":1xo" class="" tabindex="0">De qualquer modo, se houver outra forma de se fazer isso, como função própria de usuário, agradeço.<br></div><div id=":1xo" class="" tabindex="0"><br></div></div></span></div>Obrigado,<br clear="all"><div><br>-- <br><div class="gmail_signature">Mauricio Cardeal<br>UFBA<br></div>
</div></div>