基本软件包所需的最低R版本?

时间:2017-09-19 07:25:27

标签: r dependencies package

有没有办法找出我在我的包中使用的基本,统计等包函数需要哪个R版本?

例如,我使用自己的代码来获取残差SD,然后将其替换为stats::sigma()。但是,sigma()要求R版本> = 3.3。反过来,我的包应该依赖于R> = 3.2,并且包检查和CRAN提交都没有在我的描述文件中警告R依赖的错误规范...

1 个答案:

答案 0 :(得分:0)

似乎没有办法以可靠的方式以编程方式执行此操作。一般来说,最简单的方法是处理新闻。以下代码提取NEWS中所有具有“新功能”的句子:

library(data.table)
library(stringr)
db <- as.data.table(news())
db <- db[Category == "NEW FEATURES" & grepl("[Nn]ew function[^a]", Text), .(Text, Version)]
db[, Text := str_replace_all(Text, "\n", "")]
db[, Text := str_extract(Text, "[Nn]ew function.*?\\.(?=($| ))"), by = Version]

> db
                                                                                                                                                                                                                 Text Version
 1:                                                                                                                                                                                     new function .valid.factor().   3.4.0
 2:                                                                                      New function check_packages_in_dir_details() in package tools for analyzing package-check log files to obtain check details.   3.4.0
 3:                                                                                             New functions validEnc() and validUTF8() to give access to the validity checks for inputs used by grep() and friends.   3.3.0
 4:                                                                                                                                           New function strrep() for repeating the elements of a character vector.   3.3.0
 5:                                                                                                  New function grouping() returns a permutation that stably rearranges data so that identical values are adjacent.   3.3.0
 6:                                                                                                                                       New function .traceback() returns the stack trace which traceback() prints.   3.3.0
 7:                                    New functions makevars_user() and makevars_site() in package tools to determine the location of the user and site specific Makevars files for customizing package compilation.   3.3.0
 8:                                                                                                New function dir.exists() in package base to test efficiently whether one or more paths exist and are directories.   3.2.0
 9:                                                                                                                         new function debuggingState() has been added, allowing to temporarily turn off debugging.   3.2.0
10:                                                                                                           New function extSoftVersion() to report on the versions of third-party software in use in this session.   3.2.0
11:                                                                                                                                                       New function isNamespaceLoaded() for readability and speed.   3.2.0
12:                                                                                                                                                   New function trimws() for removing leading/trailing whitespace.   3.2.0
13: New function hsearch_db() in package utils for building and retrieving the help search database used by help.search(), along with functions for inspecting the concepts and keywords in the help search database.   3.2.0
14:                                                                                                          New function .getNamespaceInfo(), a no-check version of getNamespaceInfo() mostly for internal speedups.   3.2.0
15:                                                                                                                                          New function toTitleCase() in package tools, tailored to package titles.   3.2.0
16:                                                                                                          New function pcre_config() to report on some of the configuration options of the version of PCRE in use.   3.1.3
17:                                                                                                                               New function icuGetCollate() to report on the ICU collation locale in use (if any).   3.1.2
18:                                             new function promptImport(), to generate a help page for a function that was imported from another package (and presumably re-exported, or help would not be needed).   3.1.1
19:                                                                                         New function anyNA(), a version of any(is.na(.)) which is fast for atomic vectors, based on a proposal by Tim Hesterberg.   3.1.0
20:                                                                                                                               new function find_gs_cmd() in the tools package to locate a GhostScript executable.   3.1.0
21:                                                                                         New functions cospi(x), sinpi(x), and tanpi(x), for more accurate computation of cos(pi*x), etc, both in R and the C API.   3.1.0
22:                                                                                                                                                New function agrepl() which like grepl() returns a logical vector.   3.1.0
23:                                                                                                                                               new function, La_version(), to report the version of LAPACK in use.   3.0.3
24:                                                                                          New functions cite() and citeNatbib() have been added, to allow generation of in-text citations from "bibentry" objects.   3.0.0
25:                                                                                                                     new function rep_len() analogous to rep.int() for when speed is required (and names are not).   3.0.0
26:                                                                    New functions bitwNot(), bitwAnd(), bitwOr() and bitwXor(), using the internal interfaces previously used for classes "octmode" and "hexmode".   3.0.0