[R] how to search a list that contains multiple dissimilar vectors?

Eik Vettorazzi E.Vettorazzi at uke.de
Thu Mar 28 09:21:04 CET 2013


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


-- 
Eik Vettorazzi

Department of Medical Biometry and Epidemiology
University Medical Center Hamburg-Eppendorf

Martinistr. 52
20246 Hamburg

T ++49/40/7410-58243
F ++49/40/7410-57790
--
Pflichtangaben gemäß Gesetz über elektronische Handelsregister und Genossenschaftsregister sowie das Unternehmensregister (EHUG):

Universitätsklinikum Hamburg-Eppendorf; Körperschaft des öffentlichen Rechts; Gerichtsstand: Hamburg

Vorstandsmitglieder: Prof. Dr. Martin Zeitz (Vorsitzender), Dr. Alexander Kirstein, Joachim Prölß, Prof. Dr. Dr. Uwe Koch-Gromus



More information about the R-help mailing list