[解決済み] model.frame.default のエラー: 変数の長さが異なる
2022-02-18 10:17:33
質問
mgcvパッケージを使用してgamモデルを実行したところ、理解できない奇妙なエラーメッセージが表示されました。
"Error in model.frame.default(formula = death ~ pm10 + Lag(resid1, 1) + : variable lengths differ (found for 'Lag(resid1, 1)')" と表示されました。
model1 で使用した観測値の数は deviance 残差の長さと全く同じなので、このエラーはデータサイズや長さの違いとは関係ないと思います。
ウェブ上でかなり関連性の高いエラーメッセージを見つけました。 こちら しかし、その投稿には十分な回答が得られなかったので、私の問題には役に立ちません。
再現性のある例とデータは以下の通りです。
library(quantmod)
library(mgcv)
require(dlnm)
df <- chicagoNMMAPS
df1 <- df[,c("date","dow","death","temp","pm10")]
df1$trend<-seq(dim(df1)[1]) ### Create a time trend
モデルの実行
model1<-gam(death ~ pm10 + s(trend,k=14*7)+ s(temp,k=5),
data=df1, na.action=na.omit, family=poisson)
デビアンス残差の取得
resid1 <- residuals(model1,type="deviance")
モデル1に1日遅れのデビアンスを追加する
model1_1 <- update(model1,.~.+ Lag(resid1,1), na.action=na.omit)
model1_2<-gam(death ~ pm10 + s(trend,k=14*7)+ s(temp,k=5) + Lag(resid1,1), data=df1,
na.action=na.omit, family=poisson)
これらのモデルは両方とも同じエラーメッセージを出力しました。
解決方法は?
Joranは、モデルを実行する前に、まずNAを除去することを提案しました。そこで、私はNAを削除し、モデルを実行し、残差を得ました。モデル2を更新し、遅延残差を含めると、エラーメッセージは表示されなくなりました。
NAを削除する
df2<-df1[complete.cases(df1),]
メインモデルの実行
model2<-gam(death ~ pm10 + s(trend,k=14*7)+ s(temp,k=5), data=df2, family=poisson)
残差の取得
resid2 <- residuals(model2,type="deviance")
ラグ1残差を含めてモデル2を更新する
model2_1 <- update(model2,.~.+ Lag(resid2,1), na.action=na.omit)
関連
-
[解決済み】R:関数に有限な'ylim'値が必要
-
[解決済み】ggplotの線幅を変更するには?
-
[解決済み】rbind エラー。"名前が以前の名前と一致しない"
-
[解決済み】apply()とadply()の出力が異なる件)
-
[解決済み】R Markdown - html出力でフォントサイズとフォントタイプを変更する
-
[解決済み】r Error dim(X) must have a positive length?
-
[解決済み】R: predict() の数値 'envir' 引数が長さ1でない。)
-
[解決済み】 .subset2(x, i, exact = exact)のエラー:Rの添え字が範囲外である。
-
[解決済み】Rでmax.printの制限値を増やす方法
-
[解決済み】起動時にパーをデフォルト値にリセットする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:私のコードで予期しないシンボル/入力/文字列定数/数値定数/SPECIALが発生した
-
[解決済み】model.frame.defaultでのエラー:変数の長さが異なる
-
[解決済み】ベースグラフィックスでプロットエリアの外側に凡例をプロットする?
-
[解決済み】GLM解析での警告
-
[解決済み】rbind(deparse.level, ...)でエラー:引数の列の数がRにマッチしていない
-
[解決済み】Rヒストグラムの範囲エラー:いくつかの'x'がカウントされない; 'break'が'x'の範囲に及ばないかもしれない
-
[解決済み】ggplot2でのプロット:「Error: カテゴリ軸のY軸に "Discrete value supplied to continuous scale "と表示される。
-
[解決済み] テスト
-
[解決済み】 eval(expr, envir, enclos) でのエラー : オブジェクトが見つかりません。
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?