
Alexandre, Eu te sugiro converter seu resultado para vetor e inserir os nomes out3 = list() for(i in seq(1,length(out2))) { out3[[i]]=as.vector(out2[[i]]) names= paste( rep(rownames(out2[[i]]),each=ncol(out2[[i]])), rep(colnames(out2[[i]]),nrow(out2[[i]])) ,sep='_') names(out3[[i]])=names } Tito Conte Em 11 de janeiro de 2017 21:28, ASANTOS via R-br <r-br@listas.c3sl.ufpr.br> escreveu:
Caros Membros,
Eu gostaria de modificar um data frame em uma matriz de comparação múltipla específica para tanto tenho um data frame DF com a nota dada por dois indivíduos (Indv) para cinco diferentes produtos químicos, sendo:
Indv<-c(1,2) deltametrina<-c(1,1) fipronil<-c(5,3) imidaclopride<-c(7,5) sulfluramida<-c(3,7) tiametoxam<-c(9,9) DF<-cbind(Indv,deltametrina,fipronil,imidaclopride,sulfluram ida,tiametoxam)
DF Indv deltametrina fipronil imidaclopride sulfluramida tiametoxam [1,] 1 1 5 7 3 9 [2,] 2 1 3 5 7 9
Depois eu montei uma matriz de comparação múltipla com a seguinte regra, a variável (cada produto) com maior valor menos o de menor valor e armazenei a nota de cada Indv em um list, sendo:
df <- as.data.frame(t(DF[, -1])) out <- lapply(df, function(x) outer(x, x, function(x, y) abs(x-y))) out2 <- lapply(out, function(m) { dimnames(m) <- list(rownames(df), rownames(df)) m }) out2
$V1 deltametrina fipronil imidaclopride sulfluramida tiametoxam deltametrina 0 4 6 2 8 fipronil 4 0 2 2 4 imidaclopride 6 2 0 4 2 sulfluramida 2 2 4 0 6 tiametoxam 8 4 2 6 0
$V2 deltametrina fipronil imidaclopride sulfluramida tiametoxam deltametrina 0 2 4 6 8 fipronil 2 0 2 4 6 imidaclopride 4 2 0 2 4 sulfluramida 6 4 2 0 2 tiametoxam 8 6 4 2 0
No entanto, gostaria que meu output fosse:
$V1 - [deltametrina, fipronil, 4] - [deltametrina, imidaclopride, 6] - [deltametrina, sulfluramida, 2] - [deltametrina, tiametoxam, 8] - [fipronil, imidaclopride, 2] - [fipronil, sulfluramida, 2] - [fipronil, tiametoxam, 4] - [imidaclopride, sulfluramida, 4] - [imidaclopride, tiametoxam, 2] - [sulfluramida, tiametoxam, 6]
$V2 - [deltametrina, fipronil, 2] - [deltametrina, imidaclopride, 4] - [deltametrina, sulfluramida, 6] - [deltametrina, tiametoxam, 8] - [fipronil, imidaclopride, 2] - [fipronil, sulfluramida, 4] - [fipronil, tiametoxam, 6] - [imidaclopride, sulfluramida, 2] - [imidaclopride, tiametoxam, 4] - [sulfluramida, tiametoxam, 2]
Alguém teria alguma sugestão para ajudar?
Obrigado,
Alexandre
-- ====================================================================== 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 99686-6970 (VIVO) (+55) 65 3221-2674 (FIXO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 - ResearcherID: A-5790-2016 Researchgate: www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635 Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/ ======================================================================
_______________________________________________ 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 fornea cdigo mnimo reproduzvel.