[R] ifelse problem

Adrian DUSA adi at roda.ro
Fri Mar 10 15:14:33 CET 2006


Dear all,

There is something I'm missing in order to understand the following behavior:

> aa <- c("test", "name")
> ifelse(any(nchar(aa) < 3), aa[-which(nchar(aa) < 3)], aa)
[1] "test"
> any(nchar(aa) < 3)
[1] FALSE

Shouldn't the ifelse function return the whole aa vector?
Using if and else separately, I get the correct result...

> if (any(nchar(aa) < 3)) {
         aa[-which(nchar(aa) < 3)]
         } else {
         aa
         }
[1] "test" "name"


Thanks in advance,
Adrian

-- 
Adrian DUSA
Romanian Social Data Archive
1, Schitu Magureanu Bd
050025 Bucharest sector 5
Romania
Tel./Fax: +40 21 3126618 \
          +40 21 3120210 / int.101




More information about the R-help mailing list