
Prezado Fernando, primeiro obrigado pela atenção!!! Ficou mais ou menos o que eu queria, porque os códigos foram para o topo da tabela (ou seja, como nome), mas eles deveriam ser células. Vou ver se consigo adaptar!!! Obrigadão!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQIhttp://lattes.cnpq.br/8996149312896520 Em quarta-feira, 16 de fevereiro de 2022 09:46:32 BRT, Fernando Souza <nandodesouza@gmail.com> escreveu: Veja se é isso library(dplyr)library(tidyr) x01<-c(1001,"Potássio",3.49,3.62,3.63,3.49,3.44,2)x02<-c(2000,"Potássio",4.18,4.21,4.15,4.86,4.36,3)x03<-c(1002,"Potássio",3.49,3.62,3.63,3.49,3.44,2)x04<-c(1003,"Potássio",3.49,3.62,3.63,3.49,3.44,2)x05<-c(2001,"Potássio",4.18,4.21,4.15,4.86,4.36,3)x06<-c(2000,"Albumina",2.35,2.36,2.21,2.15,2.27,10)x07<-c(3000,"Albumina",2.69,2.78,2.88,2.91,2.84,12)x08<-c(2001,"Albumina",2.35,2.36,2.21,2.15,2.27,10)x09<-c(3001,"Albumina",2.69,2.78,2.88,2.91,2.84,12) exemplo<-data.frame(rbind(x01,x02,x03,x04,x05,x06,x07,x08,x09))names(exemplo)<-c("CodCli","Substância","v1","v2","v3","v4","v5","Cluster")row.names(exemplo)<-NULLexemplo<-exemplo %>%mutate(v1=as.numeric(v1),v2=as.numeric(v2),v3=as.numeric(v3),v4=as.numeric(v4),v5=as.numeric(v5))exemplo$Média<-rowMeans(exemplo[,3:7],na.rm = TRUE)exemplo exemplo%>%gather(obs,valor, -c("CodCli","Substância","Cluster","Média"))%>% spread(key=CodCli,value=valor) On Feb 16 2022, at 8:46 am, Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br> wrote: Prezados, bom dia de novo, lá vou perturbar os amigos... Segue outro exemplo reproduzível (tem a ver com minha dúvida de ontem): library(dplyr)x01<-c(1001,"Potássio",3.49,3.62,3.63,3.49,3.44,2)x02<-c(2000,"Potássio",4.18,4.21,4.15,4.86,4.36,3)x03<-c(1002,"Potássio",3.49,3.62,3.63,3.49,3.44,2)x04<-c(1003,"Potássio",3.49,3.62,3.63,3.49,3.44,2)x05<-c(2001,"Potássio",4.18,4.21,4.15,4.86,4.36,3)x06<-c(2000,"Albumina",2.35,2.36,2.21,2.15,2.27,10)x07<-c(3000,"Albumina",2.69,2.78,2.88,2.91,2.84,12)x08<-c(2001,"Albumina",2.35,2.36,2.21,2.15,2.27,10)x09<-c(3001,"Albumina",2.69,2.78,2.88,2.91,2.84,12) exemplo<-data.frame(rbind(x01,x02,x03,x04,x05,x06,x07,x08,x09))names(exemplo)<-c("CodCli","Substância","v1","v2","v3","v4","v5","Cluster")row.names(exemplo)<-NULL exemplo<-exemplo %>%mutate(v1=as.numeric(v1),v2=as.numeric(v2),v3=as.numeric(v3),v4=as.numeric(v4), v5=as.numeric(v5)) exemplo$Média<-rowMeans(exemplo[,3:7],na.rm = TRUE) Como o de ontem, esse banco tem variáveis que identificam o código do cliente, a média dos dados (iguais entre laboratórios) e o Cluster, que foi obtido previamente. A substância é detalhe adicional. O que eu gostaria é: reestruturar esse banco, colocando como variáveis de identificação a substância, o cluster e a média, e o código do cliente indo para as colunas, como está nessa tabela abaixo: Subst Cluster Média CodCli.1 CodCli.2 CodCli.3Albumina 10 2,2680 2000 2001Albumina 12 2,8200 3000 3001Potássio 2 3,5340 1001 1002 1003Potássio 3 4,3520 2000 2001 Eu tentei usar o comando reshape, com esse código abaixo, mas ele não funcionou comigo (tentei também o spread, do tidyr): exemplo<-exemplo %>% select(CodCli,Substância,Cluster,Média) exemplo_quebra<-reshape(exemplo, direction="wide", idvar=c("Substância","Cluster","Média"), timevar="Cod.Cli") Algum amigo poderia indicar onde estou errando? Ou se teria uma rotina melhor para realizar esse procedimento? Novamente obrigado!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQIhttp://lattes.cnpq.br/8996149312896520______________________________________... mailing listR-br@listas.c3sl.ufpr.brhttps://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-brLeia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.