Classificação de níveis de um fator

Caros listeiros, Tenho um conjunto de dados artificiais chamado da, onde trat é representados pelas letras de A a E, no entanto, gostaria de dados valores para A a E, sendo 0.5, 0.5, 0.0, 0.1 e 0.7; e criar um novo vetor de classificação repetido essas medidas em todo o conjunto de dados da, sendo meu CRM: rm(list=ls(all=TRUE)) ## dados artificiais da <- expand.grid(trat=rep(paste(LETTERS[1:5]),10), tempo=1:3) da$y1 <- rnorm(da$trat) #Classificação classificacao<-cbind(trat=letters[1:5], classf=c(0.5, 0.5, 0.0, 0.1, 0.7)) Pensei em algo como da$classf<-if(classificacao$trat %in% da$trat, classificacao$classf), mas devido a limitações de programação não consegui resolver, alguém poderia me dar um help, Obrigado, -- ====================================================================== 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 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ====================================================================== --- Este email foi escaneado pelo Avast antivírus. http://www.avast.com

Alexandre, não ficou claro para mim o que você quer. Mas talvez seja isso: da[da$trat %in% classificacao$trat, ] ou então: lookup <- c(0.5, 0.5, 0.0, 0.1, 0.7) da[da$trat %in% lookup , ] Daniel 2015-01-08 14:07 GMT-02:00 ASANTOS <alexandresantosbr@yahoo.com.br>:
Caros listeiros,
Tenho um conjunto de dados artificiais chamado da, onde trat é representados pelas letras de A a E, no entanto, gostaria de dados valores para A a E, sendo 0.5, 0.5, 0.0, 0.1 e 0.7; e criar um novo vetor de classificação repetido essas medidas em todo o conjunto de dados da, sendo meu CRM:
rm(list=ls(all=TRUE)) ## dados artificiais da <- expand.grid(trat=rep(paste(LETTERS[1:5]),10), tempo=1:3) da$y1 <- rnorm(da$trat) #Classificação classificacao<-cbind(trat=letters[1:5], classf=c(0.5, 0.5, 0.0, 0.1, 0.7))
Pensei em algo como da$classf<-if(classificacao$trat %in% da$trat, classificacao$classf), mas devido a limitações de programação não consegui resolver, alguém poderia me dar um help,
Obrigado,
-- ====================================================================== 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 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ======================================================================
--- Este email foi escaneado pelo Avast antivírus. http://www.avast.com
_______________________________________________ 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 forneça código mínimo reproduzível.

Daniel, Desculpe não ter me explicado direito, mas não era bem isso, na verdade, gostaria que meu objeto (da) ficasse: trat tempo y1 classificacao 1 A 1 0.272042938 0.5 2 B 1 0.923253617 0.5 3 C 1 1.175123243 0.0 4 D 1 0.442904731 0.1 5 E 1 -1.506353846 0.7 6 A 1 0.008381993 0.5 7 B 1 -2.276649590 0.5 8 C 1 0.466464326 0.0 9 D 1 -1.787497834 0.1 10 E 1 -0.416819113 0.7 11 A 1 -1.088171573 0.5 Ou seja, tenho um objeto de classificação que informa o valor de cada letra e gostaria que esses valores fossem repetidos no objeto da. Obrigado, Alexandre On 08/01/2015 15:09, Daniel Marcelino wrote:
lookup <- c(0.5, 0.5, 0.0, 0.1, 0.7)
da[da$trat %in% lookup , ] Caros listeiros,
Tenho um conjunto de dados artificiais chamado da, onde trat é representados pelas letras de A a E, no entanto, gostaria de dados valores para A a E, sendo 0.5, 0.5, 0.0, 0.1 e 0.7; e criar um novo vetor de classificação repetido essas medidas em todo o conjunto de dados da, sendo meu CRM: rm(list=ls(all=TRUE)) ## dados artificiais da <- expand.grid(trat=rep(paste(LETTERS[1:5]),10), tempo=1:3) da$y1 <- rnorm(da$trat) #Classificação classificacao<-cbind(trat=letters[1:5], classf=c(0.5, 0.5, 0.0, 0.1, 0.7)) Pensei em algo como da$classf<-if(classificacao$trat %in% da$trat, classificacao$classf), mas devido a limitações de programação não consegui resolver, alguém poderia me dar um help, Obrigado, -- ====================================================================== 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 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ====================================================================== --- Este email foi escaneado pelo Avast antivírus. http://www.avast.com

A função merge resolve o seu problema: classificacao <- data.frame(trat=letters[1:5], classf=c(0.5, 0.5, 0.0, 0.1, 0.7)) merge(da, classificacao, by = 'trat') Att.,Rubem De: ASANTOS <alexandresantosbr@yahoo.com.br> Para: r-br@listas.c3sl.ufpr.br Enviadas: Quinta-feira, 8 de Janeiro de 2015 16:44 Assunto: Re: [R-br] Classificação de níveis de um fator Daniel, Desculpe não ter me explicado direito, mas não era bem isso, na verdade, gostaria que meu objeto (da) ficasse: trat tempo y1 classificacao 1 A 1 0.272042938 0.5 2 B 1 0.923253617 0.5 3 C 1 1.175123243 0.0 4 D 1 0.442904731 0.1 5 E 1 -1.506353846 0.7 6 A 1 0.008381993 0.5 7 B 1 -2.276649590 0.5 8 C 1 0.466464326 0.0 9 D 1 -1.787497834 0.1 10 E 1 -0.416819113 0.7 11 A 1 -1.088171573 0.5 Ou seja, tenho um objeto de classificação que informa o valor de cada letra e gostaria que esses valores fossem repetidos no objeto da. Obrigado, Alexandre On 08/01/2015 15:09, Daniel Marcelino wrote:
lookup <- c(0.5, 0.5, 0.0, 0.1, 0.7)
da[da$trat %in% lookup , ] Caros listeiros,
Tenho um conjunto de dados artificiais chamado da, onde trat é representados pelas letras de A a E, no entanto, gostaria de dados valores para A a E, sendo 0.5, 0.5, 0.0, 0.1 e 0.7; e criar um novo vetor de classificação repetido essas medidas em todo o conjunto de dados da, sendo meu CRM: rm(list=ls(all=TRUE)) ## dados artificiais da <- expand.grid(trat=rep(paste(LETTERS[1:5]),10), tempo=1:3) da$y1 <- rnorm(da$trat) #Classificação classificacao<-cbind(trat=letters[1:5], classf=c(0.5, 0.5, 0.0, 0.1, 0.7)) Pensei em algo como da$classf<-if(classificacao$trat %in% da$trat, classificacao$classf), mas devido a limitações de programação não consegui resolver, alguém poderia me dar um help, Obrigado, -- ====================================================================== 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 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ====================================================================== --- Este email foi escaneado pelo Avast antivírus. http://www.avast.com _______________________________________________ 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 forneça código mínimo reproduzível.

Obrigado Rubem, Solução: rm(list=ls(all=TRUE)) ## dados artificiais da <- expand.grid(trat=rep(paste(LETTERS[1:5]),10), tempo=1:3) da$y1 <- rnorm(da$trat) classificacao <- data.frame(trat=LETTERS[1:5], classf=c(0.5, 0.5, 0.0, 0.1, 0.7)) merge(da, classificacao, by = 'trat') On 08/01/2015 16:02, Rubem Kaipper Ceratti wrote:
merge(da, classificacao, by = 'trat'
-- ====================================================================== 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 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ====================================================================== --- Este email foi escaneado pelo Avast antivírus. http://www.avast.com
participantes (3)
-
ASANTOS
-
Daniel Marcelino
-
Rubem Kaipper Ceratti