Skip to content
Back to formatted view

Raw Message

Message-ID: <alpine.DEB.2.00.1104081703120.13900@springer.Berkeley.EDU>
Date: 2011-04-09T00:03:26Z
From: Phil Spector
Subject: Finding elements in a character vector
In-Reply-To: <0F96478603980B46AAAFBA77069582ED131C7464@UIEXCH.urban.org>

match(list.a,list.b)

 					- Phil Spector
 					 Statistical Computing Facility
 					 Department of Statistics
 					 UC Berkeley
 					 spector at stat.berkeley.edu


On Fri, 8 Apr 2011, Downey, Patrick wrote:

> Hello,
>
> I have two character vectors: list.a and list.b. Every element of list.a
> appears somewhere in list.b. Not all elements of list.b are in list.a, and
> some elements of list.b appear multiple times in list.a. I want to create a
> new vector (index) of the same length as list.a where the nth element of
> index is the location in list.b of the nth element of list.a.
>
> This code will work, but I have heard over and over again that using loops
> is inefficient in R and that there are (almost always) better ways to do
> things.
>
> for(i in 1:length(list.a)){
> index[i] <- seq(1,length(list.b))[list.b==list.a[i]]
> }
>
> Thank you,
> Mitch
>
> ______________________________________________
> 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.
>