2017-09-19 40 views
3

有没有办法找出基地,统计数据等需要哪个R版本?我在包装中使用的包装功能?基本包装所需的最低R版本?

例如,我用自己的代码来得到残余的SD,后来用stats::sigma()代替它。但是,sigma()要求R版本> = 3.3。反过来,我的软件包应该依赖于R> = 3.2,并且既没有包检查也没有提交CRAN对我的DESCRIPTION文件中R依赖关系的错误说明进行了警告......

+0

在[R网站]上有更改日志,其中声明了更改。但是这听起来像你想要的东西,如“给定一个函数,我怎么知道它什么时候被引入?” –

+0

是的,极度地!可能不需要R> 3.2(或者甚至R> 3.0)的许多函数,但是例如, 'startsWith()'是另一个候选人,我不知道它需要一个后期R版本。 – Daniel

回答

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