perfectionism
Did you try: z[f]
On 25/11/2011 19:23, Jack Tanner wrote:
I have a named vector:
z<- c(1, 2, 3, 2)
names(z)<- c("a","b","c","b")
f<- c("b","c")
I want to know the index in z of the first occurrence of each of the values in f. One implementation is
sapply(f, function(x) which(names(z)==x)[1])
b c 2 3 Is which() smart enough to stop when it finds in z the first occurrence of every value from f, or does it search through all the values in z only to report the first one? Are some more elegant ways of writing this code? Just curious.
______________________________________________ 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.
Patrick Burns pburns at pburns.seanet.com twitter: @portfolioprobe http://www.portfolioprobe.com/blog http://www.burns-stat.com (home of 'Some hints for the R beginner' and 'The R Inferno')