[R] if() command

Sundar Dorai-Raj sundar.dorai-raj at pdf.com
Wed Sep 14 19:20:44 CEST 2005


"if" is not vectorised and "age" is a vector. Try the following test:

if(c(TRUE, FALSE)) "TRUE" else "FALSE"

You really need to use "ifelse".

ifelse(c(TRUE, FALSE), "TRUE", "FALSE")

As others have suggested, you might want to look at ?cut.

--sundar

Carlos Mauricio Cardeal Mendes wrote:
> Ok Petr, I run your suggestion and I got this message:
> 
>  > age<-sample(seq(10,50,10), 20, replace=T)
>  >
>  > if (age <=10) {group <- 1} else if (age > 10 & age <= 20) {group <- 
> 2} else {group <- 3}
> Warning message:
> the condition has length > 1 and only the first element will be used in: 
> if (age <= 10) {
> 
> What does it means ?
> 
> And when I look to the database I have no new classification !
> 
> Could you help please ?
> 
> Mauricio
> 
> Petr Pikal escreveu:
> 
> 
>>Hallo
>>
>>
>>On 13 Sep 2005 at 10:29, Carlos Maurício Cardeal Mende wrote:
>>
>>
>>>Hi everyone !
>>>
>>>Could you please help me with this problem ?
>>>
>>>I´ve trying to write a code that assign to a variable the content from
>>>another, but all I´ve got is a message error. For example:
>>>
>>>if (age <=10) {group == 1}
>>>else if (age > 10 & age <= 20) {group == 2}
>>>else {group == 3}
>>
>>if you put your statement on one line it works (at least it does not 
>>give you syntax error) but the result is hardly what you really expect
>>
>>age<-sample(seq(10,50,10), 20, replace=T)
>>
>>if (age <=10) {group <- 1} else if (age > 10 & age <= 20) {group <- 2} 
>>else {group <- 3}
>>if (age <=10) {group == 1} else if (age > 10 & age <= 20) {group == 2} 
>>else {group == 3}
>>
>>Maybe you want something like
>>
>>group<-as.numeric(cut(age,c(0,10,20,100)))
>>
>>but it is only guess
>>
>>HTH
>>Petr
>>
>>
>>>Syntax error
>>>
>>>Or
>>>
>>>if (age <=10) {group == 1}
>>>else (age > 10 & age <= 20) {group == 2}
>>>else {group == 3}
>>>
>>>Syntax error
>>>
>>>I know that is possible to find the solution by ifelse command or even
>>>recode command, but I´d like to use this way, because I can add
>>>another variable as a new condition and I believe to expand the
>>>possibilites.
>>>
>>>Thanks,
>>>Mauricio
>>>
>>>______________________________________________
>>>R-help at stat.math.ethz.ch mailing list
>>>https://stat.ethz.ch/mailman/listinfo/r-help
>>>PLEASE do read the posting guide!
>>>http://www.R-project.org/posting-guide.html
>>
>>
>>Petr Pikal
>>petr.pikal at precheza.cz
>>
>>------------------------------------------------------------------------
>>
>>No virus found in this incoming message.
>>Checked by AVG Anti-Virus.
>>Version: 7.0.344 / Virus Database: 267.10.21/96 - Release Date: 10/9/2005
>> 
>>
> 
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html




More information about the R-help mailing list