doenca <- c(1,2,1,2,3,2,3,1,3,2,1,1,1,2,3)
idoso <- c(1,0,0,1,1,0,0,1,1,0,0,0,1)
tab <- function(x,acu="n",casas=1){
freq.abs <- table(x)
n <- length(na.omit(x))
freq.rel <- round((table(x)*100/length(na.omit(x))),casas)
freqac.rel <- round(cumsum(freq.rel),casas)
freqac.abs <- cumsum(freq.abs)
ifelse(is.numeric(x)==F | acu=="n" | acu=="N",tab <-
cbind(freq.abs,freq.rel),
tab <- cbind(freq.abs,freqac.abs,freq.rel,freqac.rel))
print(tab)
cat("Total: ",n,"\n")
}
tab(idoso)
freq.abs freq.rel
0 7 53.8
1 6 46.2
Total: 13
tab(idoso,casas=2)
freq.abs freq.rel
0 7 53.85
1 6 46.15
Total: 13
tab(doenca)
> tab(doenca)
freq.abs freq.rel
1 6 40.0
2 5 33.3
3 4 26.7
Total: 15
tab(doenca,acu="s")
freq.abs freqac.abs freq.rel freqac.rel
1 6 6 40.0 40.0
2 5 11 33.3 73.3
3 4 15 26.7 100.0
Total: 15
Veja se ajuda.
Mauricio Cardeal
UFBA
Em 23 de outubro de 2014 12:41, Jakson Alves de Aquino <[email protected]>
escreveu:
> Em Quarta-feira, 22 de Outubro de 2014 21:55,
> "[email protected]" <[email protected]> escreveu:
> > tem algum comando para fazer uma tabela única direto no R com frequencia
> relativa e absoluta? E tb valores de chi² e p.
> > Estou usando os comandos abaixo, mas o resultado aparece em tabelas
> individuais.
> >
> > table(q11,q13)
> > rowPercents(table(q11,q13))
> > f <- chiSquare(q13 ~ q11)
> > f
>
> Talvez a função CrossTable do pacote descr seja o que você procura...
> _______________________________________________
> R-br mailing list
> [email protected]
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
--
Mauricio Cardeal
UFBA
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
mínimo reproduzível.