Re: [R] ideas on sorting

From: array chip <arrayprofile_at_yahoo.com>
Date: Mon, 14 Mar 2011 13:46:35 -0700 (PDT)

Thanks Martin!



From: Martin Morgan <mtmorgan_at_fhcrc.org>

Cc: r-help_at_r-project.org
Sent: Mon, March 14, 2011 12:33:40 PM
Subject: Re: [R] ideas on sorting

On 03/14/2011 10:32 AM, array chip wrote:
> Hi, I have a character vector as below:
>
> a<-c('10','3R','4','4R','5','5R','6','6R','7','8','9','7R','1','10R','11'
> ,'11R','12','12R','13','13R','14','14R','15','15R','1R','2','2R','3','8R'
> ,'9R')
>
> Is there a clever way to sort this easily to return a vector of index that
>would
> produce a vector as below:
>
> a[index]:
>
> [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
> [11] "11" "12" "13" "14" "15" "1R" "2R" "3R" "4R" "5R"
> [21] "6R" "7R" "8R" "9R" "10R" "11R" "12R" "13R" "14R" "15R"

treat these as levels of a factor and let R do the thinking

   lvls = c(1:15, paste(1:15, "R", sep=""))

   a = factor(c('10', '3R', '4', '4R', '5', '5R', '6', '6R', '7', '8',
                '9', '7R', '1', '10R', '11', '11R', '12', '12R', '13',
                '13R', '14', '14R', '15', '15R', '1R', '2', '2R', '3',
                '8R' , '9R'), levels=lvls)

> sort(a)

  [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 15 1R 2R 3R 4R 5R 6R 7R 8R 9R 10R 11R 12R 13R [29] 14R 15R
30 Levels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1R 2R ... 15R
> a[order(a)]

  [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 15 1R 2R 3R 4R 5R 6R 7R 8R 9R 10R 11R 12R 13R [29] 14R 15R
30 Levels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1R 2R ... 15R

Martin

>
> Thanks,
>
> John
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.

-- 
Computational Biology
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109

Location: M1-B861
Telephone: 206 667-2793



      
	[[alternative HTML version deleted]]

______________________________________________
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.
Received on Mon 14 Mar 2011 - 20:51:25 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 14 Mar 2011 - 21:00:21 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive