如何在R中處理“找不到函式”錯誤?
“找不到函式”錯誤由以下原因導致:
函式名稱不正確。請記住,R中的函式名稱區分大小寫。
包含該函式的包未安裝。在使用任何包中的函式之前,必須先在R中安裝這些包。可以使用`install.packages("package_name")`進行安裝。
在使用函式之前未載入該包。要使用包中包含的函式,需要載入該包,可以使用`library("package_name")`進行載入。
R的版本過舊,導致您使用的函式不存在。
如果您安裝並載入了許多包,但忘記了哪個包包含您正在使用的函式,可以使用`getAnywhere`函式查詢。
示例
> library(ggplot2) > library(BSDA) Loading required package: lattice Attaching package: ‘BSDA’
以下物件被‘package:datasets’中的物件遮蔽:
Orange
> library(purrr)
> getAnywhere(ggplot)
A single object matching ‘ggplot’ was found
It was found in the following places
package:ggplot2
namespace:ggplot2
with value
function (data = NULL, mapping = aes(), ..., environment = parent.frame()){
UseMethod("ggplot")
}
<bytecode: 0x0000000011201848>
<environment: namespace:ggplot2>這裡我們載入了三個包:ggplot2、BSDA和purr。假設我們想知道哪個包包含ggplot函式。因此,我們使用了getAnywhere,它返回包名稱為ggplot2。
您應該確保不會犯上述錯誤。如果您使用的是舊版本的R,但想使用為新版本建立的函式進行計算,則這是不可能的。但是,如果您使用backports包使新新增的函式可用於舊版本的R,則可以實現。您還需要在backports的git倉庫中找到需要回傳的函式列表。請記住,R 3.0.0之前的版本與為R 3.0.0及更高版本構建的包不相容。
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP