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.