[R-br] Teste de diferça entre proporções via loop

Cesar Rabak cesar.rabak em gmail.com
Quarta Março 23 17:33:54 BRT 2016


Como sugestão para um código mais enxuto, o objetivo poderia ser atingido
com a aplicação da função apply:

> dados <- read.table("data_test.txt", header=T, sep= "\t")
> dados$p_valor <- apply(dados[,2:4], 1, function(linha)
prop.test(x=c(linha[1],linha[2]),n=c(linha[3],linha[3]), correct=F)$p.value)
> dados
  AREA   X1   X2     N       p_valor
1    1 1982 9416 11398  0,000000e+00
2    2 6546 4084 10630 5,362948e-250
3    3 3418  667 40850  0,000000e+00
4    4 1503 4408 59110  0,000000e+00
5    5  966  339 30500  6,472911e-69

Ademais, se o OP tiver que resolver problemas dessa natureza com
frequência, pode ser que valha a pena examinar alguns pacotes que têm
funções para facilitar esse tipo de resumos, como, por exemplo, os pacotes
*descr* e *reporttools*.

HTH
--
Cesar Rabak


On Wed, Mar 23, 2016 at 1:46 PM, Daniel Tiezzi <dtiezzi em usp.br> wrote:

> Boa tarde Wagner
>
> Supondo que seus dados esteja uma tabela data_test (em anexo)
>
> acho que você pode resolver assim
>
>
> data<- read.table(“data_test.txt”, header=T, sep= “\t”)
>
> data_df <- as.data.frame(data)
>
> res<- list()
>
> for (i in 1:nrow(data)) {
>   y<- prop.test(x = c(data$X1[i], data$X2[i]), n = c(data$N[i],
> data$N[i]), correct = FALSE)
>   x= y$p.value
>   res[[paste0(i)]] <- x
> }
>
> result <- t(as.data.frame(res))
>
> data_df1 <- cbind(data_df, result)
>
> data_df1
>
>
> Espero que funcione
>
>
> daniel
>
>
>
> Daniel Tiezzi, MD, PhD
> Professor Associado
> Departamento de Ginecologia e Obstetrícia
> Setor de Mastologia e Oncologia Ginecológica
> Faculdade de Medicina de Ribeirão Preto - USP
> Tel.: 16 3602-2488
> e-mail: dtiezzi em fmrp.usp.br
>
>
>
>
>
> On Mar 23, 2016, at 3:50 PM, Wagner Tassinari <wtassinari em gmail.com>
> wrote:
>
> AREA    X1      X2       N       p_valor
> 1        1982    9416    11398      ?
> 2        6546    4084    10630      ?
> 3        3418    667       4085       ?
> 4        1503    4408      5911       ?
> 5        966        339       305       ?
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160323/3338dbc3/attachment.html>


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