[R] Sorting alphanumerically
Mark
mtb954 at gmail.com
Sat Feb 25 05:21:58 CET 2006
Thank you all, for your help.
Mark
On 2/24/06, Chuck Cleland <ccleland at optonline.net> wrote:
> Does this help?
>
> ID <- paste("g", sample(1:100, 100, replace=FALSE), sep="")
>
> ID
> [1] "g88" "g5" "g79" "g67" "g43" "g21" "g66"
> [8] "g9" "g38" "g86" "g12" "g85" "g74" "g34"
> [15] "g52" "g95" "g6" "g22" "g70" "g87" "g7"
> [22] "g83" "g63" "g42" "g26" "g65" "g16" "g97"
> [29] "g76" "g2" "g90" "g23" "g15" "g82" "g75"
> [36] "g58" "g17" "g20" "g96" "g91" "g31" "g33"
> [43] "g48" "g32" "g93" "g54" "g49" "g36" "g81"
> [50] "g57" "g27" "g14" "g62" "g10" "g80" "g71"
> [57] "g28" "g37" "g89" "g8" "g94" "g68" "g56"
> [64] "g92" "g41" "g11" "g4" "g99" "g55" "g60"
> [71] "g18" "g69" "g19" "g64" "g39" "g1" "g53"
> [78] "g44" "g24" "g100" "g35" "g3" "g40" "g47"
> [85] "g51" "g46" "g61" "g45" "g50" "g25" "g13"
> [92] "g73" "g77" "g30" "g84" "g78" "g29" "g59"
> [99] "g72" "g98"
>
> ID[order(as.numeric(substr(ID, start=2, stop=nchar(ID))))]
> [1] "g1" "g2" "g3" "g4" "g5" "g6" "g7"
> [8] "g8" "g9" "g10" "g11" "g12" "g13" "g14"
> [15] "g15" "g16" "g17" "g18" "g19" "g20" "g21"
> [22] "g22" "g23" "g24" "g25" "g26" "g27" "g28"
> [29] "g29" "g30" "g31" "g32" "g33" "g34" "g35"
> [36] "g36" "g37" "g38" "g39" "g40" "g41" "g42"
> [43] "g43" "g44" "g45" "g46" "g47" "g48" "g49"
> [50] "g50" "g51" "g52" "g53" "g54" "g55" "g56"
> [57] "g57" "g58" "g59" "g60" "g61" "g62" "g63"
> [64] "g64" "g65" "g66" "g67" "g68" "g69" "g70"
> [71] "g71" "g72" "g73" "g74" "g75" "g76" "g77"
> [78] "g78" "g79" "g80" "g81" "g82" "g83" "g84"
> [85] "g85" "g86" "g87" "g88" "g89" "g90" "g91"
> [92] "g92" "g93" "g94" "g95" "g96" "g97" "g98"
> [99] "g99" "g100"
>
> The idea is to drop the leading "g", convert to numeric, and then order.
>
> mtb954 mtb954 wrote:
> > I'm trying to sort a DATAFRAME by a column "ID" that contains
> > alphanumeric data. Specifically,"ID" contains integers all preceeded
> > by the character "g" as in:
> >
> > g1, g6, g3, g19, g100, g2, g39
> >
> > I am using the following code:
> >
> > DATAFRAME=DATAFRAME[order(DATAFRAME1$ID),]
> >
> > and was hoping it would sort the dataframe by ID in the following manner
> >
> > g1, g2, g3, g6, g19, g39, g100
> >
> > but it doesn't sort at all. Could anyone point out my mistake?
> >
> > Thank you.
> >
> > Mark
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> >
>
> --
> Chuck Cleland, Ph.D.
> NDRI, Inc.
> 71 West 23rd Street, 8th floor
> New York, NY 10010
> tel: (212) 845-4495 (Tu, Th)
> tel: (732) 452-1424 (M, W, F)
> fax: (917) 438-0894
>
More information about the R-help
mailing list