[R-br] código para construir tabela com dados pareados [RESOLVIDO]

Mauricio Cardeal mcardeal2010 em gmail.com
Domingo Abril 9 09:23:52 BRT 2017


Compartilho uma das soluções dada por:

Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email:pd.mes em cbs.dk   Priv:PDalgd em gmail.com

Através da lista r-help em r-project.org:

# CMR

pair <- c(1,1,2,2,3,3,4,4,5,5,6,6,7,7)  # identification
treat <-  c(1,0,1,0,1,0,1,0,1,0,1,0,1,0) # treatament 1 (A) or 0 (B)
impr <-  c(1,0,1,0,1,0,0,1,0,1,0,0,1,1) # improvement 1 (yes) 0 (no)
treatfac <- factor(treat)
levels(treatfac)<-list("A"=1,"B"=0 )
imprfac <- factor(impr)
levels(imprfac)<-list("+"=1,"-"=0)

dd<-data.frame(pair,treatfac,imprfac)
dd


    pair treatfac imprfac
1     1        A       +
2     1        B       -
3     2        A       +
4     2        B       -
5     3        A       +
6     3        B       -
7     4        A       -
8     4        B       +
9     5        A       -
10    5        B       +
11    6        A       -
12    6        B       -
13    7        A       +
14    7        B       +

# A solução

# O segredo é rearrumar os dados primeiro:

ddw <- reshape(dd, direction="wide", idvar="pair", timevar="treatfac")
ddw

    pair imprfac.A imprfac.B
1     1         +         -
3     2         +         -
5     3         +         -
7     4         -         +
9     5         -         +
11    6         -         -
13    7         +         +

# Para em seguida, através da função xtabs (como mencionado 
anteriormente por Fernando)

xtabs(~ imprfac.A + imprfac.B, ddw)

# Se obter o resultado desejado:

          imprfac.B
imprfac.A + -
         + 1 3
         - 2 1

Maurício Cardeal
UFBA

Em 07/04/2017 15:17, FHRB Toledo escreveu:
> help(xtabs)
>
> 2017-04-07 12:59 GMT-05:00 Mauricio Cardeal via R-br 
> <r-br em listas.c3sl.ufpr.br <mailto:r-br em listas.c3sl.ufpr.br>>:
>
>     Boa tarde!
>
>     Por favor, como faço para construir uma tabela como a do modelo do
>     final do script,
>
>     onde o conteúdo das 4 caselas são contagens do número de pares que
>     combinam
>
>     melhora e não melhora de 2 tratamentos aplicados simultaneamente
>     no mesmo
>
>     individuo (perna direita e perna esquerda), por exemplo ?
>
>     # CMR:
>
>     par <- c(1,1,2,2,3,3,4,4,5,5,6,6,7,7)  # refere-se ao número do
>     individuo
>     trata <-  c(1,0,1,0,1,0,1,0,1,0,1,0,1,0) # tratamento 1 (A) ou 0 (B)
>     melhora <-  c(1,0,1,0,1,0,0,1,0,1,0,0,1,1) # resultado do
>     tratamento 1 (melhora) 0 (não melhora)
>     tratac <- factor(trata)
>     levels(tratac)<-list("A"=1,"B"=0 )
>     melhorac <- factor(melhora)
>     levels(melhorac)<-list("+"=1,"-"=0)
>
>     data.frame(par,tratac,melhorac)
>
>        par tratac melhorac
>     1    1      A        +
>     2    1      B        -
>     3    2      A        +
>     4    2      B        -
>     5    3      A        +
>     6    3      B        -
>     7    4      A        -
>     8    4      B        +
>     9    5      A        -
>     10   5      B        +
>     11   6      A        -
>     12   6      B        -
>     13   7      A        +
>     14   7      B        +
>
>     # COMO FAÇO PARA GERAR ESSA TABELA A PARTIR DOS DADOS ACIMA?
>
>     #                      tratamento B
>     #                      melhora melhora
>     #                         +       -
>     #tratamento A melhora +   1       3
>     #             melhora -   2       1
>
>     Obrigado,
>
>     Maurício Cardeal
>
>     UFBA
>
>
>     _______________________________________________
>     R-br mailing list
>     R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
>     https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-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
>     <http://www.leg.ufpr.br/r-br-guia>) e fornea cdigo mnimo reproduzvel.
>
>

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170409/78c272a9/attachment.html>


Mais detalhes sobre a lista de discussão R-br