My attempt similar to Jim's is:

which(sapply(datalist, function(z) all(z == x)))


However, a safer approach is:

which(sapply(datalist, function(z) isTRUE(all.equal(z, x))))

This latter approach avoids Circle 1 of 'The R Inferno'.

http://www.burns-stat.com/documents/books/the-r-inferno/

Pat


On 03/02/2013 18:24, jim holtman wrote:
try this:

x<-c(1,2,3)
datalist<-list(c(1,2,3),c(2,3,4),c(3,4,5),c(4,5,6))

result <- sapply(datalist, function(.vec){
+     all(.vec == x)
+ })

result
[1]  TRUE FALSE FALSE FALSE



On Sun, Feb 3, 2013 at 1:15 PM,  <mtb...@gmail.com> wrote:
Hello R-helpers,

I have a vector

x<-c(1,2,3)

and a list that contains vectors

datalist<-list(c(1,2,3),c(2,3,4),c(3,4,5),c(4,5,6))

and I would like to identify those list elements that are identical to x.

I tried

datalist %in% x
[1] FALSE FALSE FALSE FALSE

but I am obviously using %in% incorrectly. I also tried messing around with
lapply but I can't figure out how to specify the function within lapply.

I would appreciate any suggestions you may have.

Many thanks!

Mark Na

         [[alternative HTML version deleted]]

______________________________________________
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.




--
Patrick Burns
pbu...@pburns.seanet.com
twitter: @burnsstat @portfolioprobe
http://www.portfolioprobe.com/blog
http://www.burns-stat.com
(home of:
 'Impatient R'
 'The R Inferno'
 'Tao Te Programming')

______________________________________________
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.

Reply via email to