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 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.
>
--
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: hpages at fhcrc.org
Phone: (206) 667-5791
Fax: (206) 667-1319