
Olá, Estou precisando utilizar a função t.test da biblioteca {stats} para comparar respostas de tratamentos em contrastes dois-a-dois, em um experimento com 20 tratamentos. Este teste me permite comparar amostras com variancias diferentes (var.equal = FALSE), bem como utilizar o método de Satterthwaite (não preciso neste caso específico, mas é interessante em outros). As demais opções podem ser o 'default'. Preciso gerar uma matriz 20 x 20 com o p-valor referente a cada um dos pares de tratamentos, em que na diagonal principal contenha 1.00. Exemplo de matriz com p-valor T1 T2 T3 ... T 20 T1 1.00 0.85 0.03 ... 0.25 T2 0.85 1.00 0.42 ... 0.31 T3 0.03 0.42 1.00 ... 0.44 ... .... .... .... ... ... T20 0.25 0.31 0.44 ... 1.00 Ocorre que the formula interface is only applicable for the 2-sample tests, e preparar 90 arquivos com estes contrastes dois-a-dois para gerar esta matriz 20 x 20 não me parece ser a alternativa mais adequada. Mas, também não tenho conhecimento (análise e programação) suficiente de R para preparar um script para fazer isto. Alguém pode ajudar? Abaixo, endereço com os dados. http://www.datafilehost.com/d/1ec1ec2b Luiz Roberto Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831

Luiz Roberto, boa tarde! Já consultou a função pairwise.t.test() também do pacote stats? Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Éder, Agradeço a sugestão, mas esta função usa 'The pool.sd switch calculates a common SD for all groups'. E eu preciso de uma função que viabilize a utilização de variancias diferentes para os tratamentos. Luiz Roberto Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831 Em 11 de março de 2014 15:31, Éder Comunello <comunello.eder@gmail.com>escreveu:
Luiz Roberto, boa tarde!
Já consultou a função pairwise.t.test() também do pacote stats?
Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ 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.

Um for resolve isso: dados <- read.table('C:/Users/rcoster/Downloads/RCBD_dad_B.RData.txt', header=T) mat <- matrix(0, 20, 20) for (i in 1:20) { for (j in i:20) { mat[i,j] <- mat[j,i] <- t.test(subset(dados, Treat == i)$y, y = subset(dados, Treat == j)$y, var.equal = FALSE)$p.value } } Mas não é o caso de se usar ANOVA e depois Tukey? 2014-03-11 15:37 GMT-03:00 Luiz Roberto Martins Pinto < luizroberto.uesc@gmail.com>:
Éder,
Agradeço a sugestão, mas esta função usa 'The pool.sd switch calculates a common SD for all groups'. E eu preciso de uma função que viabilize a utilização de variancias diferentes para os tratamentos.
Luiz Roberto
Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia
luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831
Em 11 de março de 2014 15:31, Éder Comunello <comunello.eder@gmail.com>escreveu:
Luiz Roberto, boa tarde!
Já consultou a função pairwise.t.test() também do pacote stats?
Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ 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.
_______________________________________________ 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.

Rodrigo, Agradeço a sugestão. Funcionou perfeitamente. Muitíssimo obrigado mesmo!!! ANOVA & Tukey oferecem comparações entre tratamentos mas consideram que as variancias entre tratamentos são homogêneas. Eu preciso de opção quando as variancias não são homogeneas. Luiz Roberto Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831 Em 11 de março de 2014 16:00, Rodrigo Coster <rcoster@gmail.com> escreveu:
Um for resolve isso:
dados <- read.table('C:/Users/rcoster/Downloads/RCBD_dad_B.RData.txt', header=T)
mat <- matrix(0, 20, 20) for (i in 1:20) { for (j in i:20) { mat[i,j] <- mat[j,i] <- t.test(subset(dados, Treat == i)$y, y = subset(dados, Treat == j)$y, var.equal = FALSE)$p.value } }
Mas não é o caso de se usar ANOVA e depois Tukey?
2014-03-11 15:37 GMT-03:00 Luiz Roberto Martins Pinto < luizroberto.uesc@gmail.com>:
Éder,
Agradeço a sugestão, mas esta função usa 'The pool.sd switch calculates a common SD for all groups'. E eu preciso de uma função que viabilize a utilização de variancias diferentes para os tratamentos.
Luiz Roberto
Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia
luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831
Em 11 de março de 2014 15:31, Éder Comunello <comunello.eder@gmail.com>escreveu:
Luiz Roberto, boa tarde!
Já consultou a função pairwise.t.test() também do pacote stats?
Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ 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.
_______________________________________________ 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.
_______________________________________________ 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.

Luiz Roberto, Com pairwise.t.test() é possível obter o mesmo resultado da solução oferecida pelo colega Rodrigo, 'desativando' o pool.sd... pairwise.t.test(y, Treat, paired=F, pool.sd=F, p.adjust.method='none') Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Caro Éder, Agradeço a sua sugestão. Testei e funcionou. Preciso somente completar a matriz, pois a informada é triangular, sem a diagonal principal. Abraços, Luiz Roberto Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831 Em 11 de março de 2014 21:16, Éder Comunello <comunello.eder@gmail.com>escreveu:
Luiz Roberto,
Com pairwise.t.test() é possível obter o mesmo resultado da solução oferecida pelo colega Rodrigo, 'desativando' o pool.sd...
pairwise.t.test(y, Treat, paired=F, pool.sd=F, p.adjust.method='none')
Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ 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.

Não consegui acessar o arquivo . Um for resolve isso: dados <- read.table('C:/Users/rcoster/Downloads/RCBD_dad_B.RData.txt', header=T) mat <- matrix(0, 20, 20) for (i in 1:20) { for (j in i:20) { mat[i,j] <- mat[j,i] <- t.test(subset(dados, Treat == i)$y, y = subset(dados, Treat == j)$y, var.equal = FALSE)$p.value } } Mas não é o caso de se usar ANOVA e depois Tukey?

Mauro, Vou enviar para você fora da lista. Luiz Roberto Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831 2014-03-11 21:48 GMT-03:00 Mauro Sznelwar <sznelwar@uol.com.br>:
Não consegui acessar o arquivo .
Um for resolve isso:
dados <- read.table('C:/Users/rcoster/Downloads/RCBD_dad_B.RData.txt', header=T)
mat <- matrix(0, 20, 20) for (i in 1:20) { for (j in i:20) { mat[i,j] <- mat[j,i] <- t.test(subset(dados, Treat == i)$y, y = subset(dados, Treat == j)$y, var.equal = FALSE)$p.value } }
Mas não é o caso de se usar ANOVA e depois Tukey?
_______________________________________________ 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.
participantes (4)
-
Luiz Roberto Martins Pinto
-
Mauro Sznelwar
-
Rodrigo Coster
-
Éder Comunello