[R] Vector indexing question

Paul Lynch plynchnlm at gmail.com
Fri Mar 30 01:55:40 CEST 2007


Suppose you have 4 related vectors:

a.id<-c(1:25, 1:25, 1:25)
a.vals <- c(101:175)        # same length as a.id (the values for those IDs)
a.id.levels <- c(1:25)
a.id.ratings <- rep(letters[1:5], times=5)    # same length as a.id.levels

What I would like to do is specify a rating from a.ratings (e.g. "e"),
get the vector of corresponding IDs from a.id.levels (via
a.id.levels[a.id.ratings=='e']) and then somehow use those IDs in a.id
to get the corresponding values from a.vals.

I think I can probably write a loop to construct of a vector of
ratings of the same length as a.id so that the ratings match the ID,
and then go from there.  Is there a better way?  Perhaps using factors
or levels or something?

Thanks,
      --Paul

-- 
Paul Lynch
Aquilent, Inc.
National Library of Medicine (Contractor)



More information about the R-help mailing list