It can also happen if you use colClasses, since that applies as.factor to the input column without first converting it to numeric. To wit:
> read.table(text=" + 9 + 10", colClasses="factor")$V1 [1] 9 10 Levels: 10 9 -pd > On 12 Feb 2016, at 22:43 , Jim Lemon <drjimle...@gmail.com> wrote: > > It depends upon what goes into the "data reshaping pipeline". If there is a > single non-numeric value in the data read in, it will alpha sort it upon > conversion to a factor: > > x<-factor(c(sample(6:37,1000,TRUE)," ")) > z<-factor(x) > levels(z) > [1] " " "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" > "23" > [16] "24" "25" "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37" > "6" > [31] "7" "8" "9" > > Jim > > > On Sat, Feb 13, 2016 at 2:41 AM, Fox, John <j...@mcmaster.ca> wrote: > >> Dear Federico, >> >>> -----Original Message----- >>> From: Federico Calboli [mailto:federico.calb...@helsinki.fi] >>> Sent: February 12, 2016 10:27 AM >>> To: Fox, John <j...@mcmaster.ca> >>> Cc: R Help <r-help@r-project.org> >>> Subject: Re: [R] why is 9 after 10? >>> >>> Dear John, >>> >>> that is fortunatey not the case, I just managed to figure out that the >> problem >>> was that in the data reshaping pipeline the numeric column was >> transformed >>> into a factor. >> >> But that shouldn't have this effect, I think: >> >>> z <- as.factor(x) >>> table(z) >> z >> 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >> 31 32 33 34 35 36 37 >> 29 30 35 29 41 33 27 21 38 36 34 35 31 29 27 26 28 22 21 34 32 33 31 34 23 >> 32 35 39 31 40 35 29 >> >>> levels(z) >> [1] "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" >> "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31" >> [27] "32" "33" "34" "35" "36" "37" >> >> Best, >> John >> >>> >>> Many thanks for your time. >>> >>> BW >>> >>> F >>> >>> >>> >>>> On 12 Feb 2016, at 17:22, Fox, John <j...@mcmaster.ca> wrote: >>>> >>>> Dear Federico, >>>> >>>> Might my.data[, 2] contain character data, which therefore would be >>> sorted in this manner? For example: >>>> >>>>> x <- sample(6:37, 1000, replace=TRUE) >>>>> table(x) >>>> x >>>> 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 >>>> 30 31 32 33 34 35 36 37 >>>> 29 30 35 29 41 33 27 21 38 36 34 35 31 29 27 26 28 22 21 34 32 33 31 >>>> 34 23 32 35 39 31 40 35 29 >>>>> y <- as.character(x) >>>>> table(y) >>>> y >>>> 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 >>>> 33 34 35 36 37 6 7 8 9 >>>> 41 33 27 21 38 36 34 35 31 29 27 26 28 22 21 34 32 33 31 34 23 32 35 >>>> 39 31 40 35 29 29 30 35 29 >>>> >>>> I hope this helps, >>>> John >>>> >>>> ----------------------------- >>>> John Fox, Professor >>>> McMaster University >>>> Hamilton, Ontario >>>> Canada L8S 4M4 >>>> Web: socserv.mcmaster.ca/jfox >>>> >>>> >>>> >>>> >>>>> -----Original Message----- >>>>> From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of >>>>> Federico Calboli >>>>> Sent: February 12, 2016 10:13 AM >>>>> To: R Help <r-help@r-project.org> >>>>> Subject: [R] why is 9 after 10? >>>>> >>>>> Hi All, >>>>> >>>>> I have some data, one of the columns is a bunch of numbers from 6 to >> 41. >>>>> >>>>> table(my.data[,2]) >>>>> >>>>> returns >>>>> >>>>> 10 11 12 13 14 15 16 17 18 19 20 21 22 23 >> 24 25 26 27 28 >>> 29 >>>>> 30 31 32 33 34 35 36 37 >>>>> 1761 1782 1897 1749 1907 1797 1734 1810 1913 1988 1914 1822 1951 1973 >>>>> 1951 >>>>> 1947 2067 1967 1812 2119 1999 2086 2133 2081 2165 2365 2330 2340 >>>>> 38 39 40 41 6 7 8 9 >>>>> 2681 2905 3399 3941 1648 1690 1727 1668 >>>>> >>>>> whereas the reasonable expectation is that the numbers from 6 to 9 >>>>> would come before 10 to 41. >>>>> >>>>> How do I sort this incredibly silly behaviour so that my table >>>>> follows a reasonable expectation that 9 comes before 10 (and so on and >>> so forth)? >>>>> >>>>> BW >>>>> >>>>> F >>>>> >>>>> -- >>>>> Federico Calboli >>>>> Ecological Genetics Research Unit >>>>> Department of Biosciences >>>>> PO Box 65 (Biocenter 3, Viikinkaari 1) >>>>> FIN-00014 University of Helsinki >>>>> Finland >>>>> >>>>> federico.calb...@helsinki.fi >>>>> >>>>> ______________________________________________ >>>>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>>> 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. >>> >>> -- >>> Federico Calboli >>> Ecological Genetics Research Unit >>> Department of Biosciences >>> PO Box 65 (Biocenter 3, Viikinkaari 1) >>> FIN-00014 University of Helsinki >>> Finland >>> >>> federico.calb...@helsinki.fi >> >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> 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. >> > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. -- Peter Dalgaard, Professor, Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Office: A 4.23 Email: pd....@cbs.dk Priv: pda...@gmail.com ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.