In addition to Reduce(), you can take a look at ?any for '|' and ?all for '&'.
Josh On Mon, Aug 2, 2010 at 1:43 PM, Allan Engelhardt <all...@cybaea.com> wrote: > `|` is a binary operator which is why the apply will not work. See > > help("Reduce") > > For example, > > set.seed(1) > data <- data.frame(A = runif(10) > 0.5, B = runif(10) > 0.5, C = runif(10) > > 0.5) > Reduce(`|`, data) > # [1] TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE > > Hope this helps. > > Allan > > On 02/08/10 21:35, Alastair wrote: >> >> Hi, >> >> I've got some boolean data in a data.frame in the form: >> X Y Z A B C >> [1] T T F T F F >> [2] F T T F F F >> . >> . >> . >> >> >> What I want to do is create a new column which is the logical disjunction >> of >> several of the columns. >> Just like: >> >> new.column<- data$X | data$Y | data$Z >> >> However I don't want to hard code the particular columns into the >> expression >> like that. I've tried using apply row wise with `|` as the function: >> >> columns<- c(X,Y,Z) >> apply(data[,columns], 1,`|`) >> >> This doesn't seem to do what I would have expected, does anyone have any >> advice how to use the the apply or similar function to perform a boolean >> operation on each row (and a specific subset of the columns) in a data >> frame? >> >> Thanks, >> Alastair >> >> >> > > ______________________________________________ > 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. > -- Joshua Wiley Ph.D. Student, Health Psychology University of California, Los Angeles http://www.joshuawiley.com/ ______________________________________________ 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.