来自工具包write_PACKAGES函数的疯狂输出

时间:2018-01-16 20:18:54

标签: r

我正在使用工具包中的write_PACKAGES函数为我的自定义存储库创建PACKAGES.txt文件。

EX:

# File system folder path where i have zipfiles of my local repo packages 
repo_path<-"C:/Users/currentmini"
library(tools)
write_PACKAGES(dir = paste(repo_path, "/bin/windows/contrib/3.3", sep=''),
               type = "win.binary")

如果我在RStudio上运行上面的命令,输出“PACKAGES.txt”文件会出现一些小写包名称位于顶部"Ex: abind",有时会将大写字母包名称放在顶部{{1搞乱我的包裹清单顺序。

由于这种不一致性,当我更新本地软件包存储库时,我无法使用超越比较或任何其他文件夹比较工具。

有没有人知道告诉"Ex: Amelia"函数或任何R全局设置影响包名称排序顺序的方法?

下面第一次尝试package.txt文件快照:

write_PACKAGES

第二次尝试下面的package.txt文件快照:

Package: abind
Version: 1.4-3
Depends: R (>= 1.5.0)
License: LGPL (>= 2)

Package: acepack
Version: 1.3-3.3
License: MIT + file LICENSE
Archs: i386, x64

1 个答案:

答案 0 :(得分:0)

tools::write_PACKAGES使用为当前区域设置定义的归类顺序。第一个示例看起来像典型的英语归类顺序(或许多其他顺序),而第二个示例看起来是C归类顺序。

要始终获得相同的顺序,您需要每次都保持整理顺序相同。此代码将始终强制C归类顺序:

save <- Sys.getlocale("LC_COLLATE")
Sys.setlocale("LC_COLLATE", "C")
tools::write_PACKAGES(dir = paste(repo_path, "/bin/windows/contrib/3.3", sep=''),
           type = "win.binary")
Sys.setlocale("LC_COLLATE", save)