Skip to content

list.files() reorders files in R CMD INSALL

4 messages · Vadim Ogranovich, Duncan Murdoch, Peter Dalgaard

#
Hi,
 
The list.files() function seems to order its result vector differently
when is run during R CMD INSTALL. Here is an example:
 
~% mkdir ~/FOO
~% cd ~/FOO/
~/FOO% touch a A b B
~/FOO% ls
a  A  b  B

 
Put foo.R in the vor package. The foo.R just prints the files in ~/FOO:
print(list.files("~/FOO"))

Now install the package:
~/FOO% R CMD INSTALL -l ~/R/library/ ~/src/vor/
* Installing *source* package 'vor' ...
** libs
make: `vor.so' is up to date.
** R
** preparing package for lazy loading
[1] "A" "B" "a" "b"
 
** help
 >>> Building/Updating help pages for package 'vor'
     Formats: text html latex example 
* DONE (vor)

 
Note that the files are listed as: [1] "A" "B" "a" "b"
 
Now start an R session
[1] "a" "A" "b" "B"

which differs in order from that in R CMD INSTALL.
_                       
platform x86_64-unknown-linux-gnu
arch     x86_64                  
os       linux-gnu               
system   x86_64, linux-gnu       
status                           
major    2                       
minor    0.1                     
year     2004                    
month    11                      
day      15                      
language R                       

Thanks,
Vadim
#
On 6/23/2005 4:18 PM, Vadim Ogranovich wrote:
Looks like the sorting is being done in the C locale in the first case, 
and in a different one in the second.  See ?locales for how to set the 
locale to what you want.

Duncan Murdoch
#
On 6/23/2005 4:38 PM, Duncan Murdoch wrote:
... when in R, and see the R Extensions manual for setting it during the 
INSTALL.

Duncan Murdoch
#
Duncan Murdoch <murdoch at stats.uwo.ca> writes:
However, notice that the C locale is generally enforced for a reason:
Sometimes the order of files matter, e.g. the file zzz.R is designed
to come last, but in en_GB it actually comes before Zeke.R and in
Estonian z comes between s and t...