2016-12-03 8 views
-1

Dataset私は航空会社の遅延を予測しようとしています。私はテストデータの値を予測しているときに困難に直面しています。出力は無限ループに入り、なぜ私は理解できません。以下は再現可能なコードです。predict()を使用するのが難しい

arrdelaymodel <- lm(ArrDelay ~ DepDelay + Distance + Distance*AirTime + HDAYS +DepTime*DepDelay) 
summary(arrdelaymodel) 

what.are.my.chances <- function(DepDelay, Distance, AirTime, DepTime, HDAYS){ 
new.values <- data.frame("DepDelay" = testing_data$DepDelay, "Distance" = testing_data$Distance, "AirTime"= 
         testing_data$AirTime, "DepTime"= testing_data$DepTime, "HDAYS"=testing_data$HDAYS) 
output <- predict(arrdelaymodel, newdata = new.values) 
return(output) 
} 

what.are.my.chances(DepDelay = 10, Distance = 200, AirTime = 100, DepTime = 1700, HDAYS= 7) 
+1

あなたの関数はパラメータを使用していません。また、 'attach'を使わないでください。 'lm'の' data'パラメータを使います。 – alistaire

答えて

2

データをサブセット化するのは間違いだと思います。例えば。あなたはDepDelay' = 10で関数を呼び出します。そのため、関数は次の処理を試みます。testing_data$10。ただ、 'testing_data $' の部分は、問題を解決する必要があります削除

、すなわち:

new.values <- data.frame("DepDelay" = DepDelay, ..)

幸運!

+0

テストデータをチェックインする必要があることをどのように知っていますか?モデルはトレーニングデータで実行されています。 Ilはちょうど以下に言う? new.values < - data.frame( "DepDelay" = Depdelay、.... data = testing_data) – Anu

+0

予測の直前に(testing_data)を添付しますか? – Anu

+0

関数の引数に指定した値は、testdataの値であると仮定しますか?テストデータを含むデータフレームを持っていれば、次のことができます: 'what.are.my.chances < - function(testdata){ new.values < - data.frame(" DepDelay "= testdata [ 'DepTime'、 'DepDelay']、 "Distance" =テストデータ[、 'Distance']、 "AirTime" = testdata [、 'AirTime']、 "DepTime" = testdata [、 'DepTime']、 "HDAYS" = testdata [、 'HDAYS ']) 出力< - predict(arrdelaymodel、newdata = new.values) 返信(出力) } – PaulH

関連する問題