-1
我已經在這裏讀了幾個答案,但我恐怕我一直無法找出答案。R警告:newdata'有15行,但發現變量有22行
我的R代碼裏面是:
colors <- bmw[bmw$Channel=="Colors" & bmw$Hour=20,]
colors_test <- tail(colors, 89)
colors_train <- head(colors, 810)
colors_train_agg <- aggregate(colors_train$Impressions, list(colors_train$`Position of Ad in Break`), FUN=mean, na.rm=TRUE)
colnames(colors_train_agg) <- c("ad_position", "avg_impressions")
lm_colors <- lm(colors_train_agg$avg_impressions ~ poly(colors_train_agg$ad_position, 12))
summary(lm_colors)
colors_test_agg <- aggregate(colors_test$Impressions, list(colors_test$`Position of Ad in Break`), FUN=mean, na.rm=TRUE)
colnames(colors_test_agg) <- c("ad_position", "avg_impressions")
new.df <- data.frame(colors_test_agg$ad_position)
colnames(new.df) <- c("ad_position")
colors_test_test <- predict(lm_colors, newdata=new.df)
所以我有完全針對訓練和測試數據的列名相同。我仍然得到警告:
Warning message: 'newdata' had 15 rows but variables found have 22 rows
有一個人提出什麼是錯的?另外,我想知道我是否以正確的方式進行。
此外,有關如何計算模型的準確性的一些指針將不勝感激。謝謝!
喜歡'LM(avg_impressions〜聚(ad_position,12),數據= colors_train_agg) –
由於問題是關於行不一致的問題,如果您提供了一些維度,它會有所幫助。 'lapply(list(colors_test,colors_train,colors_train_agg,colors_test_agg),dim)' –
你能提供這些數據嗎? –