R:找不到对象

时间:2015-11-18 02:46:12

标签: r

Sales是数据集列中的变量。 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

P.S。我已尝试使用train $ Sales进行引用并附加了火车数据集,但它们无法解决问题。

1 个答案:

答案 0 :(得分:4)

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

您对data.frame进行子集化的方式存在问题。它应该是train[train$Sales>0,](不要忘记过滤后的,。)

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

[.data.frame(train,Sales&gt; 0)出错:找不到对象'Sales'

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