【问题标题】:R: Object not foundR:找不到对象
【发布时间】:2016-02-19 15:39:20
【问题描述】:

销售额是数据集中的一个变量。 Summary() 找到它,但 glm() 找不到。这是怎么回事?

感谢任何帮助。

> summary(train$Sales)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
      0    3727    5744    5774    7856   41550 
> summary(ross_glm <- glm(Sales ~ Customers,family=Gamma,data = train[Sales>0])) 
Error in `[.data.frame`(train, Sales > 0) : object 'Sales' not found

附:我尝试使用 train$Sales 引用并附加火车数据集,但它们并没有解决问题。

【问题讨论】:

  • 您的子集不正确。它应该类似于train[train$Sales&gt;0,]。例如:set.seed(42); train &lt;- data.frame(Sales = rnorm(100), Other = rnorm(100)); train[Sales&gt;0]
  • 你也可以使用summary(ross_glm &lt;- glm(Sales ~ Customers,family=Gamma,data = train, subset = Sales&gt;0)

标签: r


【解决方案1】:

编辑:Ben Bolker 的评论为函数glm 内的子集提供了一种更简洁的方法。


您对 data.frame 进行子集化的方式存在问题。应该是train[train$Sales&gt;0,](别忘了过滤器后面的,)。

set.seed(42)
train <- data.frame(Sales = rnorm(100), Other = rnorm(100))
train[Sales>0]

[.data.frame(train, Sales > 0) 中的错误:找不到对象“销售”

head(train[train$Sales>0,])
#       Sales      Other
# 1 1.3709584  1.2009654
# 3 0.3631284 -1.0032086
# 4 0.6328626  1.8484819
# 5 0.4042683 -0.6667734
# 7 1.5115220 -0.4222559
# 9 2.0184237  0.1881930

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    • 2023-01-01
    • 2017-12-29
    相关资源
    最近更新 更多