有没有办法忽略这种情况或在安装软件包时打开不区分大小写。
示例,RWeka
包。是否可以像install.packages("rweka")
那样安装它或以某种方式设置ignore.case = TRUE
,但是没有像install.packages()
那样的论据
答案 0 :(得分: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
中的正则表达式指定字符串的开头和结尾,否则您可能会得到更多包含您想要的子包的包。
答案 1 :(得分: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
。