[R-br] Criar comparações múltiplas entre fatores ... O RETORNO

ASANTOS alexandresantosbr em yahoo.com.br
Sexta Março 11 11:28:13 BRT 2016


Pessoal,

        Estava utilizando a rotina desenvolvida pelo Éder e vi que ela 
criava os contrastes, mas não um desenho fatorial completo como quando 
uso a função gen.factorial() do pacote AlgDesign, alguém poderia me 
dizer como a partir da rotina do Éder eu poderia criar isso, uma vez 
que, não posso utilizar a função gen.factorial() diretamente porque em 
meus dados verdadeiros eu tenho dados desbalanceados. Meu código é:

#Fator
treat <- gl(4, 15, labels = paste("t", 1:4, sep="")); treat

#Comparações
TI    <- model.matrix(~ treat-1)
head(TI)

f <- nlevels(treat)
comb <- t(combn(1:f, 2))
n    <- nrow(comb)

contr2 <- NULL
for (x in 1:n) {
       i <- comb[x, 1]
       j <- comb[x, 2]
       tmp <- list(TI[,i] - TI[,j]); names(tmp) <- paste0("TI",i, "_", j)
        contr2 <- c(contr2, tmp) }
contr2df <- as.data.frame(contr2)
contr2df

#Equivalente, mas criando um desenho fatorial completo
require(AlgDesign)
contr2df2 <-AlgDesign::gen.factorial(3, 6, TRUE, varNames=c("TI1_2", 
"TI1_3", "TI1_4", "TI2_3", "TI2_4", "TI3_4"))
contr2df2
#

Obrigado,

-- 
======================================================================
Alexandre dos Santos
Proteção Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial
Cáceres - MT                      CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
e-mails:alexandresantosbr em yahoo.com.br
         alexandre.santos em cas.ifmt.edu.br
Lattes: http://lattes.cnpq.br/1360403201088680
OrcID: orcid.org/0000-0001-8232-6722
Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10
LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635
======================================================================

Em 10/03/2016 08:33, ASANTOS escreveu:
> Muito obrigado Éder!!!!
>
>        Era exatamente a função que eu procurava, funcionou perfeitamente,
>
> Abraços,
> -- 
> ======================================================================
> Alexandre dos Santos
> Proteção Florestal
> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
> Campus Cáceres
> Caixa Postal 244
> Avenida dos Ramires, s/n
> Bairro: Distrito Industrial
> Cáceres - MT                      CEP: 78.200-000
> Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
> e-mails:alexandresantosbr em yahoo.com.br  
>          alexandre.santos em cas.ifmt.edu.br  
> Lattes:http://lattes.cnpq.br/1360403201088680
> OrcID: orcid.org/0000-0001-8232-6722
> Researchgate:https://www.researchgate.net/profile/Alexandre_Santos10                        
> LinkedIn:https://br.linkedin.com/in/alexandre-dos-santos-87961635
> ======================================================================
> Em 09/03/2016 17:39, Éder Comunello escreveu:
>> Alexandre, boa tarde!
>>
>> Não sei se entendi direito, mas fiz uma tentativa. Se a ideia servir 
>> dá pra colocar na forma de uma função.
>>
>>
>> ### <code r>
>> treat <- gl(4, 15, labels = paste("t", 1:4, sep="")); treat # Fatores
>>
>> # Variables
>> set.sed(124)
>> sp  <- cbind(c(rnorm(10,  5, 0.25), rnorm(50, 2.5, 0.25)), rnorm(60, 
>> 2.5, 0.25),
>>            c(rnorm(10, 12, 0.25), rnorm(50, 2.5, 0.25)), rnorm(60, 
>> 2.5, 0.25))
>> colnames(sp) <- c("sp1", "sp2", "sp3", "sp4")
>> head(sp)
>>
>> #Criação da matriz de contrastes
>> TI    <- model.matrix(~ treat-1)
>> head(TI)
>>
>> f    <- length(levels(treat))
>> comb <- t(combn(1:f, 2))
>> n    <- nrow(comb)
>>
>> contr2 <- NULL
>> for (x in 1:n) {
>>    i <- comb[x, 1]
>>    j <- comb[x, 2]
>>    tmp <- list(TI[,i] - TI[,j]); names(tmp) <- paste0("TI",i, "_", j)
>>    contr2 <- c(contr2, tmp)
>> }
>> contr2
>>
>> head(do.call(cbind, contr2))
>> #   TI1_2 TI1_3 TI1_4 TI2_3 TI2_4 TI3_4
>> # 1     1     1     1     0     0     0
>> # 2     1     1     1     0     0     0
>> # 3     1     1     1     0     0     0
>> # 4     1     1     1     0     0     0
>> # 5     1     1     1     0     0     0
>> # 6     1     1     1     0     0     0
>> ### </code>
>>
>>
>>>> ================================================
>> Éder Comunello
>> Agronomist (UEM), MSc in Environ. Sciences (UEM)
>> DSc in Agricultural Systems Engineering (USP/Esalq)
>> Brazilian Agricultural Research Corporation (Embrapa)
>> Dourados, MS, Brazil |<O>|
>> ================================================
>> GEO, -22.2752, -54.8182, 408m
>> UTC-04:00 / DST: UTC-03:00
>>
>>
>>
>>
>>
>> _______________________________________________
>> 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.
>
>
>
> _______________________________________________
> 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/20160311/c785baa3/attachment.html>


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