[R] Subsetting vector with preserved order
hpages at fhcrc.org
Fri Jan 3 01:14:23 CET 2014
On 01/02/2014 04:04 PM, arun wrote:
> Try ?match
> # "Joe" "Bob" "Dick"
Or use 'a' to put names on 'b':
> names(b) <- a
A B C D E
"Tom" "Dick" "Harry" "Bob" "Joe"
Then subset by names:
E D B
"Joe" "Bob" "Dick"
> 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]
>>  "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?
> R-help at r-project.org mailing list
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
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
More information about the R-help