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,sulfluramida,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.