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进行引用并附加了火车数据集,但它们无法解决问题。
答案 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