[R-br] Construir tabela para várias variáveis quantitativas
Mauricio Cardeal
mcardeal2010 em gmail.com
Quinta Setembro 17 07:46:11 BRT 2015
Olá pessoal!
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.
Fiz o script abaixo aproveitando uma sugestão de Simon O'Hanlon no
stackoverflow:
a <- c(4,5,3,2,8)
b <- c(3,2,7,6,1)
c <- c(7,6,5,8,7)
bd <- data.frame(a,b,c)
res <- lapply( bd , function(x) rbind( media = mean(x) ,
dp = sd(x) ,
minimo = min(x) ,
maximo = max(x) ,
n = length(x) ) )
data.frame( res )
> data.frame( res )
a b c
media 4,4000 3,8000 6,6000
dp 2,3022 2,5884 1,1402
minimo 2,0000 1,0000 5,0000
maximo 8,0000 7,0000 8,0000
n 5,0000 5,0000 5,0000
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:
media dp minimo maximo n
a
b
c
Tentei mudar o script, mas não consegui o resultado desejado (o cbind
bagunça).
Há uma solução para isso sem precisar recorrer a funções prontas?
Como havia enviado essa mensagem para a lista no período em que houve o
problema técnico, voltei aos estudos e encontrei uma solução simples em uma
apostila do professor Paulo:
t(data.frame( res ))
media dp minimo maximo n
a 4,4 2,3022 2 8 5
b 3,8 2,5884 1 7 5
c 6,6 1,1402 5 8 5
Deixo então na lista o problema e a solução porque pode ser útil para
alguem.
Essa função é interessante porque aceita diversas modificações, como outras
estatísticas, arredondamento, etc.
De qualquer modo, se houver outra forma de se fazer isso, como função
própria de usuário, agradeço.
Obrigado,
--
Mauricio Cardeal
UFBA
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150917/8905a288/attachment.html>
Mais detalhes sobre a lista de discussão R-br