我已經無意中將我用不同功能創建的軟件包覆蓋過,保存並關閉了R Studio。現在,我的R軟件包包含一個意外的功能。謝謝,我沒有安裝這個軟件包,所以我仍然在我的電腦中保存了舊的軟件包內容。如何提取R包中使用的函數?
有沒有辦法從安裝的軟件包中提取函數?這是一個長期的功能。不多於一個功能。
而且,不,我沒有備份,至少沒有更新的版本。
我已經無意中將我用不同功能創建的軟件包覆蓋過,保存並關閉了R Studio。現在,我的R軟件包包含一個意外的功能。謝謝,我沒有安裝這個軟件包,所以我仍然在我的電腦中保存了舊的軟件包內容。如何提取R包中使用的函數?
有沒有辦法從安裝的軟件包中提取函數?這是一個長期的功能。不多於一個功能。
而且,不,我沒有備份,至少沒有更新的版本。
View(package::function)
哪裏package
是你提到你已經安裝和function
是你正在尋找檢查功能包。
重要的是放棄你通常會有函數參數的圓括號。這將打開檢查功能代碼。
您可以通過在控制檯中鍵入它的名稱來查看功能的結構。
> sum
function (..., na.rm = FALSE) .Primitive("sum")
要想從包中的功能,你可以使用::
操作
> dplyr::coalesce
function (x, ...)
{
values <- list(...)
for (i in seq_along(values)) {
x <- replace_with(x, is.na(x), values[[i]], paste0("Vector ",
i))
}
x
}
<environment: namespace:dplyr>
我不知道我明白髮生了什麼。但是,如果您有舊版本的軟件包,則可以加載軟件包,然後只需鍵入函數名稱,並將其代碼發送到終端。然後您可以複製並粘貼該代碼。 –
@JohnPaul評論的更好,但'functionBody()'也可以工作(大部分時間)。 – Masoud
當您開始新的R會話時,您可能會自動將所有內容加載到'.RData'文件中。試試'rm(name_of_function)',看看你以後是否可以使用包版本。 –