[R-br] Modificar um data frame em uma matriz de comparação múltipla específica
Tito Conte
tito.conte em gmail.com
Segunda Janeiro 16 14:06:24 BRST 2017
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 em 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 em yahoo.com.br
> alexandre.santos em 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 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 fornea cdigo
> mnimo reproduzvel.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170116/677baa8d/attachment.html>
Mais detalhes sobre a lista de discussão R-br