我是R的新手,只是测试水域,我正在尝试实现此book中给出的示例代码。这是代码:
qplot(carat, price, data = dsmall, colour = color)
这是我得到的错误:
Error in eval(expr, envir, enclos) : object 'color' not found
我复制粘贴了确切的代码,以确保我没有进行任何拼写错误,同样的错误仍然出现。我已经包含了ggplot2包。是否有任何我需要包含的包裹我缺少?
答案 0 :(得分:2)
在R中,您可以通过名称指定参数。当您指定没有名称时,R通过位置匹配来懒惰地评估它们。由于未命名的参数不匹配,您将收到环境错误。
在这种情况下,您需要先指定数据或使用命名参数:
library(ggplot2)
data(diamonds)
qplot(caret, price, data= diamonds, colour= color)
Error in eval(expr, envir, enclos) : object 'caret' not found
qplot(data= diamonds, x= carat, y= price, colour= color) # works
qplot(data= diamonds, carat, price, colour= color) # also works
答案 1 :(得分:2)
始终尝试使用最小的工作示例,并说明您呈现的代码是否完整,或者您是否遗漏了某些内容。
根据您的问题,您很难知道您所粘贴的内容是否与您的代码有关,或者您是否尝试过其他内容。
第qplot(carat, price, data = dsmall, colour = color)
行做了四件事:
现在,R告诉你Error in eval(expr, envir, enclos) : object 'color' not found
。这意味着,在提供的数据源中找不到列颜色。这让我相信你没有适当地准备 dsmall 数据源,因此你遇到了问题。
尝试运行控制台中提供的以下代码:
library(ggplot2)
set.seed(1410)
dsmall <- diamonds[sample(nrow(diamonds), 100), ]
head(dsmall)
qplot(carat, price, data = dsmall, colour = color)