ここではいくつかの回答を読んだことがありますが、私は答えを見つけ出すことができませんでした。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(リスト(colors_test、colors_train、colors_train_agg、colors_test_agg)、dim)' –
データを提供できますか? –