Uma alternativa, talvez ajude.

Veja a rotina abaixo:

require(agricolae)
?kruskal

comparison<-kruskal(tamanho,especie,group=TRUE, main="dada")
comparison<-kruskal(tamanho,sexo,group=TRUE, main="data")
 
Edson Lira
Estatístico
Manaus-Amazonas

De: Pavel Dodonov <pdodonov@gmail.com>
Para: r-br@listas.c3sl.ufpr.br; marcelo costa <marcelokosta@yahoo.com.br>
Enviadas: Quarta-feira, 30 de Janeiro de 2013 6:31
Assunto: Re: [R-br] rodar função para cada nível de um fator

Salve...
Uma dúvida... sua pergunta está relacionada a cada espécie separadamente, ou você quer saber se em média os machos são maiores/menores que as fêmeas independentemente da espécie? Se for a segunda opção, você poderia fazer un modelo misto (pacote nlme, função lme). Ele vai comprar o tamanho de machos e fêmeas levando em conta a variação entre as espécies.
Uma outra sugestão (pra reduzir o problema das comparações múltiplas) seria, ao invés de comparar espécie por espécie, dividir as espécies em grupos funcionais ou famílias, o que for mais interessante/fizer mais sentido, e rodar um modelo misto para cada grupo.
Só uma sugestão. ;)
Abs...
- Pavel
-------
Pavel Dodonov
Biologist, PhD student in Ecology and Natural Resources, São Carlos Federal University (UFSCar), SP, Brazil
http://ufscar-br.academia.edu/pdodonov
"The highest function of ecology is understanding consequences." - Frank Herbert, Dune, 1965


2013/1/29 marcelo costa <marcelokosta@yahoo.com.br>
Prezados membros,

Peço a ajuda de vocês para o seguinte problema:  Eu tenho uma planilha com dois fatores (“espécie” e “sexo”) e uma  variável contínua (“tamanho”). Quero analisar se existe diferença no tamanho de machos e fêmeas para cada espécie. Assim, preciso fazer um teste T para cada espécie.  O problema é que eu tenho 288 espécies (uma planilha de 6638 linhas) e, portanto, fazer um subset para cada espécie não me parece uma solução muito boa (e provavelmente não é!). 

Eu queria fazer um teste T para cada nível do fator "especie". Alguém tem alguma ideia de como eu poderia fazer isso sem precisar fazer um subset para cada espécie?

A princípio eu achei que isso seria fácil (e provavelmente seja), no entanto o meu pouco conhecimento sobre o R não está me ajudando.

Eu estou enviando um exemplo hipotético do formato da minha planilha:

especie<-rep(c("a","b","c"),each=6)
sexo<-rep(c("f","m"), each = 3, len = 18)
tamanho<-c(1.5,1.6,1.8,1.3,1.1,1.2,2.5,2.7,2.6,2.1,2.2,2.1,3.5,3.6,3.7,3.1,3.3,3.2)
data<-data.frame(especie,sexo,tamanho)
 
Um abraço a todos e obrigado pela atenção.
 
Marcelo Costa



_______________________________________________
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.