> filenames <- c("Q_Read_prist#1...@1.xls", "Q_Read_prist#1...@10.xls", > "Q_Read_prist#1...@2.xls") > filenames <- gtools::mixedsort(filenames, numeric.type="decimal") > filenames [1] "Q_Read_prist#1...@1.xls" "Q_Read_prist#1...@2.xls" "Q_Read_prist#1...@10.xls"
/Henrik On Fri, Dec 4, 2015 at 7:53 AM, Boris Steipe <boris.ste...@utoronto.ca> wrote: > The thread below has a number of solutions. I personally like the one with > sprintf(). > https://stat.ethz.ch/pipermail/r-help/2010-July/246059.html > > > B. > > On Dec 4, 2015, at 5:51 AM, BARLAS Marios 247554 <marios.bar...@cea.fr> wrote: > >> Hello everyone, >> >> I am an R rookie and I'm learning as I program. >> >> I am working on a script to process a large amount of data: I read a pattern >> of filenames in the folder I want and import their data >> >> filenames = list.files(path, pattern="*Q_Read_prist*") >> >> myfiles = lapply(filenames, function(x) read.xlsx2(file=x, sheetName="Data", >> header=TRUE, FILENAMEVAR=x)) >> >> The problem is that R recognizes the files in a 'non human' order. >> >> Q_Read_prist#1...@1.xls Q_Read_prist#1...@1.xls >> Q_Read_prist#1...@10.xls Q_Read_prist#1...@10.xls >> Q_Read_prist#1...@11.xls Q_Read_prist#1...@11.xls >> Q_Read_prist#1...@12.xls Q_Read_prist#1...@12.xls >> Q_Read_prist#1...@13.xls Q_Read_prist#1...@13.xls >> Q_Read_prist#1...@14.xls Q_Read_prist#1...@14.xls >> Q_Read_prist#1...@15.xls Q_Read_prist#1...@15.xls >> Q_Read_prist#1...@16.xls Q_Read_prist#1...@16.xls >> Q_Read_prist#1...@17.xls Q_Read_prist#1...@17.xls >> Q_Read_prist#1...@18.xls Q_Read_prist#1...@18.xls >> Q_Read_prist#1...@19.xls Q_Read_prist#1...@19.xls >> Q_Read_prist#1...@2.xls Q_Read_prist#1...@2.xls >> Q_Read_prist#1...@3.xls Q_Read_prist#1...@3.xls >> Q_Read_prist#1...@4.xls Q_Read_prist#1...@4.xls >> Q_Read_prist#1...@5.xls Q_Read_prist#1...@5.xls >> Q_Read_prist#1...@6.xls Q_Read_prist#1...@6.xls >> Q_Read_prist#1...@7.xls Q_Read_prist#1...@7.xls >> Q_Read_prist#1...@8.xls Q_Read_prist#1...@8.xls >> Q_Read_prist#1...@9.xls Q_Read_prist#1...@9.xls >> >> I tried to order them using order or sort but it doesn' seem to work. I have >> had the same issue in matlab but there I have a function to re-define the >> order in a "correct" way. >> >> Anyone knows of a smart way to sort these guys from 1 to 19 ascending or >> descending? >> >> Thanks in advance, >> Mario >> >> [[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. > > ______________________________________________ > 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. ______________________________________________ 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.