DB/R/統計/データサイエンス/投資話についてつらつらと

世のため自分のためのアウトプット

R Trouble Shooting

【predictのエラー】数値の ‘envir’ 引数の長さが 1 ではありません【R】

更新日:

Rでpredict()関数を用いて、モデルからデータの予測を行おうとした際に、以下のメッセージが出たので、その解決方法を備忘録として記載。

下記は、2018年の日経平均価格と、2018年のUSD/JPYを元にモデルを作成し、2019年のUSD/JPYのデータから2019年の日経平均価格を予測できるかを試しています。

> m <- lm(N225_2018 ~ USD_2018)
> test <- predict(m, USD_2019)
 eval(predvars, data, env) でエラー: 
   数値の 'envir' 引数の長さが 1 ではありません

原因

(概要何か書こうと思ったけど、何も思いつかなかった。)
predict関数は、対象となる因子(予測の元となるデータ)はdata.frameでないといけません。
冒頭の例は、ベクトルに対してpredictを使用したためエラーとなりました。

解決方法

as.data.frameを用いてdata.frame型にしましょう。

> test <- predict(m, as.data.frame(N225_vec))
>

特に出力は出ていませんが、エラーもなく無事うまく行きました。

-R, Trouble Shooting

Copyright© 世のため自分のためのアウトプット , 2020 All Rights Reserved Powered by STINGER.