我得到的錯誤信息:「Error:object'<myvariable>'not found」是什麼意思?
Error: object 'x' not found
或更復雜的版本,例如
Error in mean(x) : error in evaluating the argument 'x' in selecting a method for function 'mean': Error: object 'x' not found
這是什麼意思?
我得到的錯誤信息:「Error:object'<myvariable>'not found」是什麼意思?
Error: object 'x' not found
或更復雜的版本,例如
Error in mean(x) : error in evaluating the argument 'x' in selecting a method for function 'mean': Error: object 'x' not found
這是什麼意思?
該錯誤表示R無法找到錯誤消息中提到的變量。
重現錯誤的最簡單方法是鍵入不存在的變量的名稱。 (如果您已經定義x
,使用不同的變量名。)
x
## Error: object 'x' not found
錯誤的更爲複雜的版本具有相同的原因:打電話時x
不存在的功能。
mean(x)
## Error in mean(x) :
## error in evaluating the argument 'x' in selecting a method for function 'mean': Error: object 'x' not found
一旦變量已被定義,錯誤不會發生。
x <- 1:5
x
## [1] 1 2 3 4 5
mean(x)
## [1] 3
ls() # lists all the variables that have been defined
exists("x") # returns TRUE or FALSE, depending upon whether x has been defined.
象這樣的錯誤可以當使用非標準的評價發生。例如,使用subset
時,如果在子數據框中不存在列名,則會發生錯誤。如果您使用自定義的評估,也可能發生
d <- data.frame(a = rnorm(5))
subset(d, b > 0)
## Error in eval(expr, envir, enclos) : object 'b' not found
錯誤。
get("var", "package:stats") #returns the var function
get("var", "package:utils")
## Error in get("var", "package:utils") : object 'var' not found
在第二種情況下,當R看起來在utils
包的環境,因爲utils
進一步下跌比stats
的search
列表不能找到var
功能。
在更先進的使用情況,您不妨閱讀:
讓我們來討論一下爲什麼一個 「找不到對象」 的錯誤能拋在R中除了解釋它的意思。它的含義很明顯:至少根據R解釋器,所討論的變量尚未定義,但如果在代碼中看到對象,則可能有多種原因導致這種情況發生:
檢查聲明的語法。如果您在稍後的調用語句中錯誤輸入了一個字母或使用了大寫字母而不是小寫字母,那麼它將與您的原始聲明不符,並且會發生此錯誤。
您是否在筆記本或降價文檔中出現此錯誤?在運行調用變量的當前單元格之前,您可能只需要重新運行一個具有聲明的早期單元格。
你試圖編織你的R文件和變量的作品找到當你運行細胞,但不是當你編織細胞時?如果是這樣的 - 那麼你要檢查我的觸發此錯誤可能的副作用下面提供的代碼片段:
{r sourceDataProb1, echo=F, eval=F} # some code here
以上片段是從R降價單元的開始。如果eval和echo都設置爲False,當您嘗試編織文檔時,這可能會觸發錯誤。澄清。我有一個用例,我將這些標誌作爲False使用,因爲我認爲我不希望我的代碼被回顯或其結果顯示在我正在生成的markdown HTML中。但是由於變量在之後的單元格中使用,這會在編織過程中產生錯誤。使用T/F TRUE/FALSE標誌進行簡單的反覆試驗可以確定,如果在RStudio編織R降價文檔時發生錯誤,這是您的錯誤的根源。
最後:在聲明它之後,你是否刪除了變量或將它從內存中清除了?
我試圖使用exists(「X」)的一個非常漫長的名單,但如果x爲NULL,則會引發錯誤:'存在(x)中的錯誤:無效的第一個參數'。 is.null(x)可以測試,但如果找不到x,該測試會拋出一個錯誤:'Error:object'x'not found'。抓住22? –
@ R.Schreurs'x < - NULL;存在(「x」)'返回'TRUE'。我認爲你有一個不同的問題。 –
你說得對。我現在假設我在我的調用中沒有引用'x':exists(x)'應該是'exists(「x」)'。 –