Prezado Cid, primeiro obrigado pela atenção!!!
Era exatamente o que eu queria, só não ficou perfeito porque você quadrou com
meu exemplo exato (com três códigos), mas podem ter mais de três (não saberia
dizer quantos), então terei de ver como ampliar sua solução. Mas era exatamente
isso!!!
Muitíssimo obrigado!!!
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:35:30 BRT, Cid Póvoas
<[email protected]> escreveu:
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)
exemplo %>% pivot_longer(cols = 3:7) %>%
group_by(Cluster, Substância, Média) %>%
select(-value) %>%
pivot_wider(names_from = name, values_from = CodCli) %>%
as.data.frame() %>% pivot_longer(cols=-c(1:3)) %>% as.data.frame() %>%
select(-name) %>%
separate(value, c("x","CodCli.1","CodCli.2","CodCli.3")) %>% select(-x) %>%
unique() %>% as.data.frame() %>% arrange(Substância)
Vê se isso ajuda...
Cid Edson Mendonça Póvoas
AnovAgro
Engenheiro Agrônomo - Data Scientist CREA : 051984991-4
Técnico em Segurança do Trabalho
Nº: 0012669/BATel: +55 73 99151-9565Lattes :
http://lattes.cnpq.br/2303498368142537
LinkedIn : http://br.linkedin.com/in/cidedson/Whatsapp :
https://wa.me/5573991519565
Em qua., 16 de fev. de 2022 às 08:47, Diogo Jerônimo por (R-br)
<[email protected]> escreveu:
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 2001 Albumina 12 2,8200 3000 3001 Potá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ônimo
Bacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia -
PUC-Rio/PósMQIhttp://lattes.cnpq.br/8996149312896520_______________________________________________
R-br mailing list
[email protected]
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
[email protected]
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.