首页 文章

qplot:找不到对象错误

提问于
浏览
1

我是R的新手,只是测试水域,我正在尝试实现这个book中给出的示例代码 . 这是代码:

qplot(carat, price, data = dsmall, colour = color)

这是我得到的错误:

Error in eval(expr, envir, enclos) : object 'color' not found

我复制粘贴了确切的代码,以确保我没有进行任何拼写错误,同样的错误仍然出现 . 我已经包含了ggplot2包 . 有什么包我需要包括哪些我错过了吗?

2 回答

  • 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 数据源,因此您在绘图时遇到问题 .

    尝试运行控制台中提供的以下代码:

    library(ggplot2)
    set.seed(1410)
    dsmall <- diamonds[sample(nrow(diamonds), 100), ]
    head(dsmall)
    qplot(carat, price, data = dsmall, colour = color)
    

    Resulting plot

  • 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
    

相关问题