我是R的新手,只是测试水域,我正在尝试实现这个book中给出的示例代码 . 这是代码:
qplot(carat, price, data = dsmall, colour = color)
这是我得到的错误:
Error in eval(expr, envir, enclos) : object 'color' not found
我复制粘贴了确切的代码,以确保我没有进行任何拼写错误,同样的错误仍然出现 . 我已经包含了ggplot2包 . 有什么包我需要包括哪些我错过了吗?
始终尝试使用最小的工作示例,并说明您呈现的代码是否完整,或者您是否遗漏了某些内容 .
从您的问题来看,很难知道您粘贴的内容是否与您的代码有关,或者您是否尝试过其他内容 .
qplot(carat, price, data = dsmall, colour = color) 行做了四件事:
它调用qplot并告诉它绘制一些数据 .
告诉qplot将所提供数据集的 carat 列中的值与同一数据集中 price 列中的值进行对比 .
提供符号 dsmall 作为要使用的qplot的数据源 . 必须在调用 qplot 时定义dsmall .
指定应使用提供的数据集中的 color 列来确定绘制符号的颜色 .
现在,R告诉你 Error in eval(expr, envir, enclos) : object 'color' not found . 这意味着,列 color hasn 't been found in the provided datasource. This leads me to believe that you haven' t适当地准备了 dsmall 数据源,因此您在绘图时遇到问题 .
尝试运行控制台中提供的以下代码:
library(ggplot2) set.seed(1410) dsmall <- diamonds[sample(nrow(diamonds), 100), ] head(dsmall) qplot(carat, price, data = dsmall, colour = color)
Resulting plot
在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
2 回答
始终尝试使用最小的工作示例,并说明您呈现的代码是否完整,或者您是否遗漏了某些内容 .
从您的问题来看,很难知道您粘贴的内容是否与您的代码有关,或者您是否尝试过其他内容 .
qplot(carat, price, data = dsmall, colour = color)
行做了四件事:它调用qplot并告诉它绘制一些数据 .
告诉qplot将所提供数据集的 carat 列中的值与同一数据集中 price 列中的值进行对比 .
提供符号 dsmall 作为要使用的qplot的数据源 . 必须在调用 qplot 时定义dsmall .
指定应使用提供的数据集中的 color 列来确定绘制符号的颜色 .
现在,R告诉你
Error in eval(expr, envir, enclos) : object 'color' not found
. 这意味着,列 color hasn 't been found in the provided datasource. This leads me to believe that you haven' t适当地准备了 dsmall 数据源,因此您在绘图时遇到问题 .尝试运行控制台中提供的以下代码:
Resulting plot
在R中,您可以通过名称指定参数 . 当您指定没有名称时,R会通过位置匹配来懒惰地评估它们 . 由于未命名的参数不匹配,您将收到环境错误 .
在这种情况下,您需要先指定数据或使用命名参数: