Separação de dados em classes usando if e ifelse

Prezados listeiros, Gostaria se criar uma coluna de classificação do meu objeto var em classes, segundo intervalos arbitrários como quando <=1 vai se chamar "Classe1", >1 e <2 vai se chamar "Classe2", etc. Porém o meu objeto de classificação RES$classes não esta dando certo aliás é uma dúvida que sempre tenho, quando utilizo parênteses ou chaves entre as funções. Segue meu código: RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var>1&<=2, "Classe2", ifelse(RES$var>2&<=10, "Classe3", if(RES$var>10, "Classe4")))) 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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================

RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var<=2, "Classe2", ifelse(RES$var<=10, "Classe3", "Classe4"))) Para colocar 2 comparações você precisa identificar o que você está querendo comparar entre os "&", algo do tipo: ifelse((RES$var)>1&(RES$var)<=2 Só que se você notar, você está trabalhando com ifelse, então, se o primeiro if não for atendido, ele já é maior que 1, então não precisa fazer essa comparação novamente. Em 22 de março de 2016 10:58, ASANTOS <alexandresantosbr@yahoo.com.br> escreveu:
Prezados listeiros,
Gostaria se criar uma coluna de classificação do meu objeto var em classes, segundo intervalos arbitrários como quando <=1 vai se chamar "Classe1", >1 e <2 vai se chamar "Classe2", etc. Porém o meu objeto de classificação RES$classes não esta dando certo aliás é uma dúvida que sempre tenho, quando utilizo parênteses ou chaves entre as funções. Segue meu código:
RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var>1&<=2, "Classe2", ifelse(RES$var>2&<=10, "Classe3", if(RES$var>10, "Classe4"))))
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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================
_______________________________________________ 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.
-- Rafael Garcia Cunha YNWA

Muito obrigado Rafael, Resolvido: RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1,"Classe1", ifelse((RES$var)>1&(RES$var)<=2, "Classe2", ifelse((RES$var)>2&(RES$var)<=10, "Classe3","Classe4"))) -- ====================================================================== 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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ====================================================================== Em 22/03/2016 10:22, Rafael Garcia Cunha escreveu:
RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var<=2, "Classe2", ifelse(RES$var<=10, "Classe3", "Classe4")))
Para colocar 2 comparações você precisa identificar o que você está querendo comparar entre os "&", algo do tipo: ifelse((RES$var)>1&(RES$var)<=2
Só que se você notar, você está trabalhando com ifelse, então, se o primeiro if não for atendido, ele já é maior que 1, então não precisa fazer essa comparação novamente.
Em 22 de março de 2016 10:58, ASANTOS <alexandresantosbr@yahoo.com.br <mailto:alexandresantosbr@yahoo.com.br>> escreveu:
Prezados listeiros,
Gostaria se criar uma coluna de classificação do meu objeto var em classes, segundo intervalos arbitrários como quando <=1 vai se chamar "Classe1", >1 e <2 vai se chamar "Classe2", etc. Porém o meu objeto de classificação RES$classes não esta dando certo aliás é uma dúvida que sempre tenho, quando utilizo parênteses ou chaves entre as funções. Segue meu código:
RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var>1&<=2, "Classe2", ifelse(RES$var>2&<=10, "Classe3", if(RES$var>10, "Classe4"))))
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 <tel:%28%2B55%29%2065%208132-8112> (TIM) (+55) 65 9686-6970 <tel:%28%2B55%29%2065%209686-6970> (VIVO) e-mails:alexandresantosbr@yahoo.com.br <mailto:e-mails%3Aalexandresantosbr@yahoo.com.br> alexandre.santos@cas.ifmt.edu.br <mailto:alexandre.santos@cas.ifmt.edu.br> Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 <http://orcid.org/0000-0001-8232-6722> Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto: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.
-- Rafael Garcia Cunha
YNWA
_______________________________________________ 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.

Prezados Listeiros, Gostaria de saber por que a abordagem indicada pelo Rafael não funciona para caracteres, sendo: ##Agregação de tratamentos RES<-NULL RES$var<-sample(LETTERS, 100, replace=TRUE) RES$classes<- ifelse((RES$var)="A"&(RES$var)="C"&(RES$var)="F"&(RES$var)="H","Classe1", ifelse(RES$var="B", "Classe2", ifelse(RES$var="W","Classe3","Classe4"))) -- ====================================================================== 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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ====================================================================== Em 22/03/2016 10:35, ASANTOS escreveu:
Muito obrigado Rafael,
Resolvido:
RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1,"Classe1", ifelse((RES$var)>1&(RES$var)<=2, "Classe2", ifelse((RES$var)>2&(RES$var)<=10, "Classe3","Classe4")))
-- ====================================================================== 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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate:https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn:https://br.linkedin.com/in/alexandre-dos-santos-87961635 ====================================================================== Em 22/03/2016 10:22, Rafael Garcia Cunha escreveu:
RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var<=2, "Classe2", ifelse(RES$var<=10, "Classe3", "Classe4")))
Para colocar 2 comparações você precisa identificar o que você está querendo comparar entre os "&", algo do tipo: ifelse((RES$var)>1&(RES$var)<=2
Só que se você notar, você está trabalhando com ifelse, então, se o primeiro if não for atendido, ele já é maior que 1, então não precisa fazer essa comparação novamente.
Em 22 de março de 2016 10:58, ASANTOS <alexandresantosbr@yahoo.com.br <mailto:alexandresantosbr@yahoo.com.br>> escreveu:
Prezados listeiros,
Gostaria se criar uma coluna de classificação do meu objeto var em classes, segundo intervalos arbitrários como quando <=1 vai se chamar "Classe1", >1 e <2 vai se chamar "Classe2", etc. Porém o meu objeto de classificação RES$classes não esta dando certo aliás é uma dúvida que sempre tenho, quando utilizo parênteses ou chaves entre as funções. Segue meu código:
RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var>1&<=2, "Classe2", ifelse(RES$var>2&<=10, "Classe3", if(RES$var>10, "Classe4"))))
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 <tel:%28%2B55%29%2065%208132-8112> (TIM) (+55) 65 9686-6970 <tel:%28%2B55%29%2065%209686-6970> (VIVO) e-mails:alexandresantosbr@yahoo.com.br <mailto:e-mails%3Aalexandresantosbr@yahoo.com.br> alexandre.santos@cas.ifmt.edu.br <mailto:alexandre.santos@cas.ifmt.edu.br> Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 <http://orcid.org/0000-0001-8232-6722> Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto: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.
-- Rafael Garcia Cunha
YNWA
_______________________________________________ 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.
_______________________________________________ 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.

Pra fazer comparação de igualdade use "==" Em 22 de março de 2016 11:44, ASANTOS <alexandresantosbr@yahoo.com.br> escreveu:
Prezados Listeiros,
Gostaria de saber por que a abordagem indicada pelo Rafael não funciona para caracteres, sendo:
##Agregação de tratamentos RES<-NULL RES$var<-sample(LETTERS, 100, replace=TRUE) RES$classes<- ifelse((RES$var)="A"&(RES$var)="C"&(RES$var)="F"&(RES$var)="H","Classe1", ifelse(RES$var="B", "Classe2", ifelse(RES$var="W","Classe3","Classe4")))
-- ====================================================================== 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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================
Em 22/03/2016 10:35, ASANTOS escreveu:
Muito obrigado Rafael,
Resolvido:
RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1,"Classe1", ifelse((RES$var)>1&(RES$var)<=2, "Classe2", ifelse((RES$var)>2&(RES$var)<=10, "Classe3","Classe4")))
-- ====================================================================== 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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================
Em 22/03/2016 10:22, Rafael Garcia Cunha escreveu:
RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var<=2, "Classe2", ifelse(RES$var<=10, "Classe3", "Classe4")))
Para colocar 2 comparações você precisa identificar o que você está querendo comparar entre os "&", algo do tipo: ifelse((RES$var)>1&(RES$var)<=2
Só que se você notar, você está trabalhando com ifelse, então, se o primeiro if não for atendido, ele já é maior que 1, então não precisa fazer essa comparação novamente.
Em 22 de março de 2016 10:58, ASANTOS <alexandresantosbr@yahoo.com.br> escreveu:
Prezados listeiros,
Gostaria se criar uma coluna de classificação do meu objeto var em classes, segundo intervalos arbitrários como quando <=1 vai se chamar "Classe1", >1 e <2 vai se chamar "Classe2", etc. Porém o meu objeto de classificação RES$classes não esta dando certo aliás é uma dúvida que sempre tenho, quando utilizo parênteses ou chaves entre as funções. Segue meu código:
RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var>1&<=2, "Classe2", ifelse(RES$var>2&<=10, "Classe3", if(RES$var>10, "Classe4"))))
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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================
_______________________________________________ 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.
-- Rafael Garcia Cunha
YNWA
_______________________________________________ R-br mailing listR-br@listas.c3sl.ufpr.brhttps://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 listR-br@listas.c3sl.ufpr.brhttps://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 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.
-- Rafael Garcia Cunha YNWA

Além disso, não tinha reparado, a comparação que você deseja pra Classe 1 é "A" ou "C" ou "F" ou "H", pois não dá pra ser A e C e F e H juntos, certo? Em 22 de março de 2016 11:50, Rafael Garcia Cunha <rafareds@gmail.com> escreveu:
Pra fazer comparação de igualdade use "=="
Em 22 de março de 2016 11:44, ASANTOS <alexandresantosbr@yahoo.com.br> escreveu:
Prezados Listeiros,
Gostaria de saber por que a abordagem indicada pelo Rafael não funciona para caracteres, sendo:
##Agregação de tratamentos RES<-NULL RES$var<-sample(LETTERS, 100, replace=TRUE) RES$classes<- ifelse((RES$var)="A"&(RES$var)="C"&(RES$var)="F"&(RES$var)="H","Classe1", ifelse(RES$var="B", "Classe2", ifelse(RES$var="W","Classe3","Classe4")))
-- ====================================================================== 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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================
Em 22/03/2016 10:35, ASANTOS escreveu:
Muito obrigado Rafael,
Resolvido:
RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1,"Classe1", ifelse((RES$var)>1&(RES$var)<=2, "Classe2", ifelse((RES$var)>2&(RES$var)<=10, "Classe3","Classe4")))
-- ====================================================================== 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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================
Em 22/03/2016 10:22, Rafael Garcia Cunha escreveu:
RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var<=2, "Classe2", ifelse(RES$var<=10, "Classe3", "Classe4")))
Para colocar 2 comparações você precisa identificar o que você está querendo comparar entre os "&", algo do tipo: ifelse((RES$var)>1&(RES$var)<=2
Só que se você notar, você está trabalhando com ifelse, então, se o primeiro if não for atendido, ele já é maior que 1, então não precisa fazer essa comparação novamente.
Em 22 de março de 2016 10:58, ASANTOS <alexandresantosbr@yahoo.com.br> escreveu:
Prezados listeiros,
Gostaria se criar uma coluna de classificação do meu objeto var em classes, segundo intervalos arbitrários como quando <=1 vai se chamar "Classe1", >1 e <2 vai se chamar "Classe2", etc. Porém o meu objeto de classificação RES$classes não esta dando certo aliás é uma dúvida que sempre tenho, quando utilizo parênteses ou chaves entre as funções. Segue meu código:
RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var>1&<=2, "Classe2", ifelse(RES$var>2&<=10, "Classe3", if(RES$var>10, "Classe4"))))
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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================
_______________________________________________ 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.
-- Rafael Garcia Cunha
YNWA
_______________________________________________ R-br mailing listR-br@listas.c3sl.ufpr.brhttps://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 listR-br@listas.c3sl.ufpr.brhttps://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 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.
-- Rafael Garcia Cunha
YNWA
-- Rafael Garcia Cunha YNWA

Obrigado Rafael, segue corrigido, em vez de e "&" eu quero ou "|", deu certo, segue resultado: RES$classes<- ifelse((RES$var)=="A"|(RES$var)=="C"|(RES$var)=="F"|(RES$var)=="H","Classe1", ifelse(RES$var=="B", "Classe2", ifelse(RES$var=="W","Classe3","Classe4"))) -- ====================================================================== 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 OrcID: orcid.org/0000-0001-8232-6722 Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ====================================================================== Em 22/03/2016 10:53, Rafael Garcia Cunha escreveu:
Além disso, não tinha reparado, a comparação que você deseja pra Classe 1 é "A" ou "C" ou "F" ou "H", pois não dá pra ser A e C e F e H juntos, certo?
Em 22 de março de 2016 11:50, Rafael Garcia Cunha <rafareds@gmail.com <mailto:rafareds@gmail.com>> escreveu:
Pra fazer comparação de igualdade use "=="
Em 22 de março de 2016 11:44, ASANTOS <alexandresantosbr@yahoo.com.br <mailto:alexandresantosbr@yahoo.com.br>> escreveu:
Prezados Listeiros,
Gostaria de saber por que a abordagem indicada pelo Rafael não funciona para caracteres, sendo:
##Agregação de tratamentos RES<-NULL RES$var<-sample(LETTERS, 100, replace=TRUE) RES$classes<- ifelse((RES$var)="A"&(RES$var)="C"&(RES$var)="F"&(RES$var)="H","Classe1", ifelse(RES$var="B", "Classe2", ifelse(RES$var="W","Classe3","Classe4")))
-- ====================================================================== 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 <tel:%28%2B55%29%2065%208132-8112> (TIM)(+55) 65 9686-6970 <tel:%28%2B55%29%2065%209686-6970> (VIVO) e-mails:alexandresantosbr@yahoo.com.br <mailto:e-mails:alexandresantosbr@yahoo.com.br> alexandre.santos@cas.ifmt.edu.br <mailto:alexandre.santos@cas.ifmt.edu.br> Lattes:http://lattes.cnpq.br/1360403201088680 OrcID:orcid.org/0000-0001-8232-6722 <http://orcid.org/0000-0001-8232-6722> Researchgate:https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn:https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================
Em 22/03/2016 10:35, ASANTOS escreveu:
Muito obrigado Rafael,
Resolvido:
RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1,"Classe1", ifelse((RES$var)>1&(RES$var)<=2, "Classe2", ifelse((RES$var)>2&(RES$var)<=10, "Classe3","Classe4")))
-- ====================================================================== 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 <tel:%28%2B55%29%2065%208132-8112> (TIM)(+55) 65 9686-6970 <tel:%28%2B55%29%2065%209686-6970> (VIVO) e-mails:alexandresantosbr@yahoo.com.br <mailto:e-mails:alexandresantosbr@yahoo.com.br> alexandre.santos@cas.ifmt.edu.br <mailto:alexandre.santos@cas.ifmt.edu.br> Lattes:http://lattes.cnpq.br/1360403201088680 OrcID:orcid.org/0000-0001-8232-6722 <http://orcid.org/0000-0001-8232-6722> Researchgate:https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn:https://br.linkedin.com/in/alexandre-dos-santos-87961635 ====================================================================== Em 22/03/2016 10:22, Rafael Garcia Cunha escreveu:
RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var<=2, "Classe2", ifelse(RES$var<=10, "Classe3", "Classe4")))
Para colocar 2 comparações você precisa identificar o que você está querendo comparar entre os "&", algo do tipo: ifelse((RES$var)>1&(RES$var)<=2
Só que se você notar, você está trabalhando com ifelse, então, se o primeiro if não for atendido, ele já é maior que 1, então não precisa fazer essa comparação novamente.
Em 22 de março de 2016 10:58, ASANTOS <alexandresantosbr@yahoo.com.br <mailto:alexandresantosbr@yahoo.com.br>> escreveu:
Prezados listeiros,
Gostaria se criar uma coluna de classificação do meu objeto var em classes, segundo intervalos arbitrários como quando <=1 vai se chamar "Classe1", >1 e <2 vai se chamar "Classe2", etc. Porém o meu objeto de classificação RES$classes não esta dando certo aliás é uma dúvida que sempre tenho, quando utilizo parênteses ou chaves entre as funções. Segue meu código:
RES<-NULL RES$var<-c(rnorm(10,1),rnorm(15,7),rnorm(15,10),rnorm(50,25)) RES$classes<- ifelse(RES$var<=1, "Classe1", ifelse(RES$var>1&<=2, "Classe2", ifelse(RES$var>2&<=10, "Classe3", if(RES$var>10, "Classe4"))))
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 <tel:%28%2B55%29%2065%208132-8112> (TIM) (+55) 65 9686-6970 <tel:%28%2B55%29%2065%209686-6970> (VIVO) e-mails:alexandresantosbr@yahoo.com.br <mailto:e-mails%3Aalexandresantosbr@yahoo.com.br> alexandre.santos@cas.ifmt.edu.br <mailto:alexandre.santos@cas.ifmt.edu.br> Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 <http://orcid.org/0000-0001-8232-6722> Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635 ======================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto: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.
-- Rafael Garcia Cunha
YNWA
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto: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.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto: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.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto: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.
-- Rafael Garcia Cunha
YNWA
-- Rafael Garcia Cunha
YNWA
_______________________________________________ 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.
participantes (2)
-
ASANTOS
-
Rafael Garcia Cunha