2017-06-19 51 views
0

我在几个月前构建了我的第一个R包,现在我意识到我的一些旧功能看起来有点过时。我已经在编写更好的函数来替换它们。在自定义R包中标记为弃用的函数

我见过其他R包如何警告不推荐使用的函数,并将用户重定向到新函数。我也想这样做。

如何标记一个函数在R中被弃用?我只是设置警告?

+2

看'.Deprecated' – alistaire

+2

这谁干的?。谢谢@alistaire。我应该删除这个问题吗? – lebelinoz

+1

而不是删除,也许提供一个小例子作为答案? – zx8754

回答

4

答案是从基础R调用.Deprecated功能:

f_old = function(x) { 
    .Deprecated("f_new") 
    return(x * x) 
} 

f_new = function(x) { 
    return(x^2) 
} 

这将给予相应的警告:

> f_old(4) 
[1] 16 
Warning message: 
'f_old' is deprecated. 
Use 'f_new' instead. 
See help("Deprecated") 
+1

在这个例子中,可能会在'f_old'中调用'f_new'。 – Roland