Mark, It is not clear whether you are dealing with a single list or something more complex, such as a list of lists or a list of data frames. In the case of a single list, you don't really need any of the 'apply' functions. The main problem in your code is the use of '&&' instead of '&':
> test.1 <- list(id = 1:50, tick = rnorm(50, 900, 50), tvis = sample(1:100, 50)) > test.1 $id [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 $tick [1] 891.5450 997.4262 884.0224 892.8317 903.7194 862.7283 913.8126 895.6072 [9] 923.2599 823.0804 828.0575 919.2257 879.8593 833.6082 924.6253 889.6797 [17] 880.2397 1022.9587 898.3806 953.0213 911.8132 932.3018 960.7257 905.0871 [25] 1018.8407 991.3910 931.3846 960.0569 793.5923 899.3268 921.0783 929.6885 [33] 940.9550 882.9791 914.9050 897.7252 970.7575 867.9848 901.2766 912.0851 [41] 856.8671 878.3230 906.9869 903.8044 882.1902 972.3030 923.9107 869.6903 [49] 836.6934 912.6101 $tvis [1] 67 8 89 36 91 30 63 38 22 44 18 79 48 90 82 6 81 39 69 7 45 86 32 43 99 23 34 54 37 [30] 1 15 5 14 87 77 27 93 94 71 60 83 62 92 72 26 80 58 98 84 78 > test.1$id > 10 & test.1$tick > 910 [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE [15] TRUE FALSE FALSE TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE [29] FALSE FALSE TRUE TRUE TRUE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE [43] FALSE FALSE FALSE TRUE TRUE FALSE FALSE TRUE > test.1$tvis[test.1$id > 10 & test.1$tick > 910] [1] 79 82 39 7 45 86 32 99 23 34 54 15 5 14 77 93 60 80 58 78 If this is not what you have, it would be helpful to provide an example of the data structure that you are dealing with, as the posting guide suggests. -Christos > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Altaweel, Mark R. > Sent: Tuesday, August 19, 2008 4:10 PM > To: r-help@r-project.org > Subject: [R] conditional with and operators > > Hi, > > I have a problem in which I am parsing data from a list. I > am simply trying to return data that has several conditions > being true. Here is my syntax below: > > d<-sapply(res,function(.df){(.df$TimesVisited[.df$Tick>912 && > .df$Id>0])}) #res is the list, and I am trying to return a > result that has two true conditions (that is the variable > Tick should be greate than 912 and Id should be greater than 0 > > This returns an array of 10 with integer values of 0. This is > the incorrect result > > However, if I do the same syntax except I remove the && > statement (i.e. the second conditional), then the result > producing something that makes sense, which is all values > that are Tick and greater than 912. > > Can someone let me know how I can setup my data to be parsed > so I can have 2 or multiple conditionals in my function that > is looking at an array. > > Thanks in advance. > > Mark > > ______________________________________________ > R-help@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. > > ______________________________________________ R-help@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.