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 <jalvesaq@gmail.com> escreveu:
Em Quarta-feira, 22 de Outubro de 2014 21:55,
"lutipilotto@yahoo.com.br" <lutipilotto@yahoo.com.br> 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
R-br@listas.c3sl.ufpr.br
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