[R] ifelse reformulation

arun
Wed, 24 Oct 2012 17:12:33 -0000

Hi,
Try this:
test1<-read.table(text="
? ?id x1 x2 x3 x4 x5 x6 x7
1 ? 1 36 26 21 32 31 27 31
2 ? 2 45 21 46 50 22 36 29
3 ? 3 49 47 35 44 33 31 46
4 ? 4 42 32 38 28 39 45 32
5 ? 5 29 42 39 48 25 35 34
6 ? 6 39 31 30 37 46 43 44
7 ? 7 41 40 25 23 42 40 24
8 ? 8 27 29 47 34 26 38 28
9 ? 9 25 35 29 36 43 34 23
10 10 24 44 37 26 27 46 22
11 11 38 50 32 49 37 24 40
12 12 20 34 48 25 30 41 36
13 13 26 46 20 40 29 20 43
14 14 33 37 49 31 47 30 30
15 15 43 39 27 35 48 47 27
",sep="",header=TRUE)


group<-c(40,50,60,70)
as.vector(apply(test1,1,function(x) ifelse(any(x[4:6]%in%group),0,1)))
# [1] 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1

#Comparing the results individually

ifelse(test1$x4==40|test1$x4==50|test1$x4==60|test1$x4==70|test1$x5==40|test1$x5==50|test1$x5==60|test1$x5==70|test1$x6==40|test1$x6==50|test1$x6==60|test1$x7==70,0,1)
# [1] 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1

?as.vector(apply(test1,1,function(x)
ifelse(any(x[4:6]==40|x[4:6]==50|x[4:6]==60|x[4:6]==70),0,1)))
?#[1] 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1
A.K.
________________________________
From: Bruno Marques <brunosm87 at gmail.com>
To: arun <smartpink111 at yahoo.com>
Sent: Wednesday, October 24, 2012 12:47 PM
Subject: Re: [R] ifelse reformulation


Hi Arun, let me ask you just one more thing, please.

If i want to compare, not one but a group of values, can i do this:

group<-c(40,50,60,70)

as.vector(apply(test1,1,function(x) ifelse(any(x[4:6]==group),0,1)))

What i want is: IF it finds any of the values in group, then 0.
I mean, it has to work like a OR... but i think this code will work like an
AND... am i wrong?

Sorry for my bad english!

Best regards,

Bruno


2012/10/12 arun <smartpink111 at yahoo.com>

HI,
>Try this:
>count40<- ifelse(test1$x3==40|test1$x4==40|test1$x5==40,0,1)
>count40
>
># [1] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
>as.vector(apply(test1,1,function(x) ifelse(any(x[4:6]==40),0,1)))
># [1] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
>A.K.
>
>
>
>
>----- Original Message -----
>From: brunosm <brunosm87 at gmail.com>
>To: r-help at r-project.org
>Cc:
>Sent: Friday, October 12, 2012 10:18 AM
>Subject: Re: [R] ifelse reformulation
>
>That was exacly what i was looking for! Thanks a lot!
>Cheers!
>
>
>
>--
>View this message in context:
http://r.789695.n4.nabble.com/ifelse-reformulation-tp4645981p4645990.html
>
>Sent from the R help mailing list archive at Nabble.com.
>
>______________________________________________
>R-help at r-project.org mailing list
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.
>
>