[解決済み】model.frame.defaultでのエラー:変数の長さが異なる
2022-01-22 17:56:46
質問
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)
関連
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み】knitrのドキュメントでinstall.packagesが失敗する。"ミラーを設定せずにCRANを使おうとしている"
-
[解決済み】エラー。Rの次元数が正しくない
-
[解決済み】Rで立方根と対数変換をする
-
[解決済み】Rエラー。"新しい列は既存の列の後に穴を空ける"
-
[解決済み】ggplot boxplotでPosition-dodge警告?
-
[解決済み】RでKNN。trainとclassは長さが違う」?
-
[解決済み】R 置換する項目数が置換長の倍数でない/しかし結果は正しい
-
[解決済み】 if/while (条件) {: TRUE/FALSEが必要な場所に値がない場合のエラー
-
[解決済み】 eval(expr, envir, enclos) でのエラー : オブジェクトが見つかりません。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み】'builtin'型のオブジェクトはsubsetableではない【重複
-
[解決済み】model.frame.defaultでのエラー:変数の長さが異なる
-
[解決済み】値を置き換えようとすると、"データフレームの添え字の割り当てで欠損値は許可されない"
-
[解決済み】ggplot boxplotでPosition-dodge警告?
-
[解決済み】 lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) のエラー : 'y' の NA/NaN/Inf, あらゆる方法を試したが解決しなかった。
-
[解決済み】「Error in stripchart.default(x1, ...) : invalid plotting method」エラーを回避する方法は?
-
[解決済み】Rヒストグラムの範囲エラー:いくつかの'x'がカウントされない; 'break'が'x'の範囲に及ばないかもしれない
-
[解決済み】各グループの上位3要素を計算する際に「数値型、論理型、複合型でのみ可能な演算」を回避する方法
-
[解決済み】R4DSのエラー比較(1)は、アトミック型とリスト型でのみ可能です