Hi

On 01/02/2014 04:04 PM, arun wrote:
Hi,
Try ?match
  b[match(d,a)]
#[1] "Joe"  "Bob"  "Dick"

Or use 'a' to put names on 'b':

  > names(b) <- a
  > b
        A       B       C       D       E
    "Tom"  "Dick" "Harry"   "Bob"   "Joe"

Then subset by names:

  > b[d]
       E      D      B
   "Joe"  "Bob" "Dick"

Cheers,
H.


A.K.


I have three vectors as follows:

a <- c('A','B','C','D','E')
b <- c('Tom','Dick','Harry','Bob','Joe')
d <- c('E','D','B')

Subsetting b by using d on a, with b[a %in% d], gives the names in the order 
they appear in b:

  b[a %in% d]
[1] "Dick" "Bob"  "Joe"

But I'd like them to show in the order in d, as "Joe" "Bob" "Dick". What is the 
easy way to do this?

Thanks.

______________________________________________
R-help@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.


--
Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpa...@fhcrc.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319

______________________________________________
R-help@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.

Reply via email to