[R-br] Separação de dados em classes usando if e ifelse

ASANTOS alexandresantosbr em yahoo.com.br
Terça Março 22 11:44:41 BRT 2016


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 em yahoo.com.br
         alexandre.santos em 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 em yahoo.com.br  
>          alexandre.santos em 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 em yahoo.com.br 
>> <mailto:alexandresantosbr em 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 em yahoo.com.br
>>     <mailto:e-mails%3Aalexandresantosbr em yahoo.com.br>
>>     alexandre.santos em cas.ifmt.edu.br
>>     <mailto:alexandre.santos em 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 em listas.c3sl.ufpr.br <mailto: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.
>>
>>
>>
>>
>> -- 
>> Rafael Garcia Cunha
>>
>> YNWA
>>
>>
>>
>> _______________________________________________
>> 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 forne�a c�digo m�nimo reproduz�vel.
>
>
>
> _______________________________________________
> 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 forne�a c�digo m�nimo reproduz�vel.

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160322/602becb3/attachment.html>


Mais detalhes sobre a lista de discussão R-br