2

パッケージのインストール中に大文字と小文字を区別しない、または大文字と小文字を区別しないようにする方法はありますか。

例、RWekaパッケージ。のようにインストールしinstall.packages("rweka")たり、どういうわけか設定したりすることignore.case = TRUEはできますが、そのような引数はありませんinstall.packages()

4

2 に答える 2

3

パッケージ名は大文字と小文字が区別されます。したがって、大文字と小文字を区別しないと、一意の一致が得られない場合があります。そうは言っても、あなたが望むものを達成するための最良の方法は次のとおりです。

#get list of packages
packages <- available.packages()[,"Package"]
#find matches by ignoring case
my_packs <- packages[grep("^rweka$",packages,ignore.case=TRUE)]
#install - beware of multiple matches
install.packages(my_packs)

の正規表現grepは文字列の開始と終了を指定することに注意してください。そうしないと、部分文字列として必要なものを含むさらに多くのパッケージになってしまう可能性があります。

于 2016-10-12T10:38:22.107 に答える
1

R を次のように拡張できます。

install_p <- function(x) {
  av <- available.packages()
  av <- setNames(av[,"Package"], tolower(av[,"Package"]))
  install.packages(av[x])
}

あなたの中で、~/.Rprofile安全に行うことができます:

install_p("rweka")

以来:

sum(duplicated(tolower(unname(av[,"Package"]))))

ローランドが0彼のコメントで指摘したとおりです。

CRAN、R パッケージの量が増えるにつれて (現在は 10K 近くになっています)、独自の内部ポリシーを緩める可能性がありますが、それでも名前の一致を許可しないのではないかと思います。

于 2016-10-12T10:44:44.703 に答える