2017-06-19 49 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