如何修复 r:找不到对象
在 R 中您可能遇到的一个常见错误是:
Error: object 'x' not found
此错误通常由以下两个原因之一引起:
原因 1 :您试图引用一个不是您创建的对象。
原因 2 :您正在执行一段代码,其中尚未定义该对象。
以下示例说明了如何在每种情况下解决此错误。
示例#1:当对象不存在时找不到对象
假设我们使用以下代码来显示我们没有创建的数据框:
#create data frame
my_df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#attempt to display data frame
my_data
Error: object 'my_data' not found
我们收到错误,因为my_data对象不存在。
相反,我们需要输入我们创建的数据框的正确名称:
#display data frame
my_df
team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28
这次我们可以毫无错误地显示数据框,因为我们使用了正确的名称。
请注意,我们还可以使用ls()来显示当前环境中的所有对象名称,并使用 exit()来检查特定对象名称是否存在:
#display the names of all objects in environment ls() [1] "df" "my_df" "x" #check if my_data exists exists(' my_data ') [1] FALSE
我们可以看到exit(‘my_data’)返回FALSE ,这就是为什么我们在尝试显示它时收到错误。
示例#2:突出显示不正确的代码段时未找到对象
我们可能收到对象未找到错误的另一个原因是,我们突出显示了要在 RStudio 中运行的一段代码,该代码不包含我们尝试引用的对象的名称。
例如,请考虑以下屏幕截图,其中我们突出显示第 3 行到第 5 行,并尝试计算名为x的值的平均值:
由于我们在第 2 行中创建了名为x的向量,因此我们收到了错误,因为我们实际上并未在突出显示的代码段中创建该向量。
如果我们确保突出显示我们感兴趣的整段代码,我们将不会收到任何错误:
请注意,RStudio 这次显示向量x的平均值,没有任何错误。
其他资源
以下教程解释了如何解决 R 中的其他常见错误:
如何在 R 中修复:名称与以前的名称不匹配
如何在R中修复:较长物体的长度不是较短物体长度的倍数
如何在 R 中修复:对比只能应用于具有 2 个或更多级别的因子