[R] how to search a list that contains multiple dissimilarvectors?
Eric Rupley
erupley at umich.edu
Fri Mar 29 06:08:24 CET 2013
Gerrit, Eik --
Thanks very much for your replies! This answers my primary question -- was I missing some simple command that did not resort to function() in some manner. Both are much more streamlined than my 7 line laughable beast of solution.
Best,
Eric
On Mar 28, 2013, at 2:29 AM, Gerrit Eichner wrote:
> Hi, Eric,
>
> as a quick hack, does
>
> spots <- sapply( alist,
> function( listcomp)
> which( listcomp == value.to.look.for) )
>
> spots[ sapply( spots, length) == 0] <- NULL
>
> do what you want?
>
>
> Regards -- Gerrit
>
On Mar 28, 2013, at 2:21 AM, Eik Vettorazzi wrote:
> Hi Eric,
> something like the following might me a starter
>
> (index<-lapply(alist,function(x)which(x==x.search)))
>
> cheers.
>
> Am 28.03.2013 08:40, schrieb Eric Rupley:
>>
>> Dear All,
>>
>> This is a simple question, but I'm stumped about the simplest way to search a list object such as the following:
>>
>> This randomish snippet:
>>
>> n <- c(round(runif(round(runif(1,1,10),0),1,10),0))
>> alist <- new("list")
>> for (i in seq_along(n)) {
>> alist[[i]] <- c(round(runif(round(runif(1,1,10),0),1,10),0))
>> }
>> names(alist) <- sample(letters[1:length(n)])
>> rm(n);c(alist)
>>
>>
>> ...produces something like this:
>>
>> $d
>> [1] 4
>>
>> $b
>> [1] 3 5 3
>>
>> $a
>> [1] 2 5 7 3 10 3 4 9 9
>>
>> $c
>> [1] 6 3 7 4 5 10 8 10 3
>>
>> My question is how does one search the list for a given value, in a most compressed set of commands, in order two return two separate indices: a) the index of the list element(s) containing the value, and b) the index of the matching value(s) within the vector.
>>
>> Right now, I'm writing cumbersome loops to iterate though the elements, but there must be a simple, effective method to which I have not found a reference.
>>
>> Many thanks in advance, and apologies if I have overlooked a reference passage.
>> Best,
>> Eric
>>
>> --
>> Eric Rupley
>> University of Michigan, Museum of Anthropology
>> 1109 Geddes Ave, Rm. 4013
>> Ann Arbor, MI 48109-1079
>>
>>
>> ______________________________________________
>> 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.
>>
More information about the R-help
mailing list