首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"Error: object '<myvariable>‘not found“是什么意思?

"Error: object '<myvariable>‘not found“是什么意思?
EN

Stack Overflow用户
提问于 2015-01-11 20:06:45
回答 5查看 284.3K关注 0票数 42

我得到了错误消息:

错误:找不到对象'x‘

或者更复杂的版本,比如

mean(x)中出现

错误:在为函数“mean”选择方法时对参数“x”求值时出错:错误:找不到对象“x”

这是什么意思?

EN

回答 5

Stack Overflow用户

发布于 2015-01-11 20:06:45

该错误意味着R找不到错误消息中提到的变量。

重现错误的最简单方法是键入一个不存在的变量的名称。(如果您已经定义了x,请使用不同的变量名。)

代码语言:javascript
运行
复制
x
## Error: object 'x' not found

更复杂版本的错误具有相同的原因:当x不存在时调用函数。

代码语言:javascript
运行
复制
mean(x)
## Error in mean(x) : 
##   error in evaluating the argument 'x' in selecting a method for function 'mean': Error: object 'x' not found

一旦定义了变量,就不会出现错误。

代码语言:javascript
运行
复制
x <- 1:5
x
## [1] 1 2 3 4 5     
mean(x)
## [1] 3

您可以使用lsexists检查变量是否存在。

代码语言:javascript
运行
复制
ls()        # lists all the variables that have been defined
exists("x") # returns TRUE or FALSE, depending upon whether x has been defined.

当您使用非标准评估时,可能会发生这样的错误。例如,使用subset时,如果要子集的数据框中不存在列名,则会出现错误。

代码语言:javascript
运行
复制
d <- data.frame(a = rnorm(5))
subset(d, b > 0)
## Error in eval(expr, envir, enclos) : object 'b' not found

如果使用自定义求值,也可能发生此错误。

代码语言:javascript
运行
复制
get("var", "package:stats") #returns the var function
get("var", "package:utils")
## Error in get("var", "package:utils") : object 'var' not found

在第二种情况下,当R查看utils包的环境时,找不到var函数,因为utilssearch列表中比stats更靠下。

在更高级的用例中,您可能希望阅读:

票数 34
EN

Stack Overflow用户

发布于 2018-08-19 23:19:37

在R中执行多行代码时,您需要首先选择所有代码行,然后单击"Run“。当我们没有选择语句并单击"Run“时,通常会出现此错误。

票数 9
EN

Stack Overflow用户

发布于 2017-02-20 01:53:26

除了解释"object not found“错误的含义之外,我们还将讨论为什么会在R中抛出”object not found“错误。它的含义(对许多人来说)是显而易见的:所讨论的变量,至少根据R解释器,尚未定义,但如果您在代码中看到您的对象,可能会有多种原因导致这种情况发生:

  1. 检查声明的语法。如果您输入了错误的一个字母,或者在以后的调用语句中使用了大写而不是小写,那么它将与您的原始声明不匹配,并且会发生此错误。
  2. 您是否在笔记本或标记文档中遇到此错误?在运行当前调用变量的单元格之前,您可能只需要重新运行具有声明的先前单元格。
  3. 您是否正在尝试编织R文档,并且变量works在您运行单元格时找到,但当您编织单元格时未找到?如果是这样-那么您需要检查我在下面提供的代码片段,以了解触发此错误的可能副作用:

{r sourceDataProb1, echo=F, eval=F} # some code here

上面的代码片段来自R标记单元格的开头。如果eval和echo都设置为False,则会在您尝试编织文档时触发错误。来澄清一下。我有一个用例,其中我将这些标志保留为False,因为我认为我不希望我的代码被回显或其结果显示在我生成的markdown HTML中。但由于该变量随后在后面的单元格中使用,因此在编织过程中会导致错误。使用T/F TRUE/FALSE标志进行简单的试错可以确定这是否是在编织来自RStudio的R标记文档时出现错误的原因。

最后:在声明变量后,是否将其从内存中删除或清除?

variable

  • hitting environment

  • ls() rm()删除declaration.

  • exists("x") RStudio环境窗口中的扫把图标清除当前工作中的所有内容
  • rm()可以帮助您查看当前处于活动状态的内容以查找缺少的declaration.
  • exists(“x”)-正如另一篇文章中提到的,可以帮助您在具有非常长的活动变量列表的环境中测试特定值
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27886839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档