[解決済み] R plot.gam エラー "Error in 1:object$nsdf : argument of length 0".
質問
gamパッケージで作成したgamオブジェクトをRでプロットしようとしています。次のページで報告されているのと同じエラーが発生します。 1:object$nsdf : plot.gam を使用したときの長さ0の引数でエラーが発生しました。 . しかし、そこで見つかった解決策、最新バージョンにアップデートする(と思う)、は私のために動作していません。私はR 3.3.1, gam 1.12, mgcv 1.8.12 (mgcvはplot.gam関数があるところです)を実行しています。
残念ながら、私が扱っているデータを共有することはできません。しかし、以下のコード(Intro. to Statistical Learning with Rのp.294から直接引っ張ってきたもの)は、私にとってはエラーを再現するものです。
library(gam)
library(ISLR) # contains the Wage dataset used here
gam.mod <- gam(wage ~ s(year, 4) + s(age, 5) + education, data = Wage)
plot(gam.mod)
何が起こっているのか、どうすれば直るのか、誰か知っていますか?
ありがとうございました。
解決方法は?
それでもこのメッセージが表示される場合は、以下のように
mgcv
と
gam
パッケージを最新バージョンに更新しました。大きな変更点は
gam
パッケージは、2018年2月に
関数plot.gamが見つかりませんでした。
. これは、GAMをフィットさせるために
gam
パッケージは現在 "Gam"クラスを持っており、たとえ
mgcv
パッケージがロードされます。
plot
は選択されません。
mgcv::plot.gam
をプロットしてください。
しかし、1つのRセッションに両方のパッケージがあるのは、やはり安全ではありません。そこで、2016年に行われた以下の提案が今でも強く推奨されています。
ご提案
RのセッションがGAM解析を行ってもよいかどうかをチェックするためのトイ関数があるとよいかもしれません。
GAM_status <- function () {
if (all(c("gam", "mgcv") %in% .packages())) print("Not OK")
else print("OK")
}
nsdf
は
厳密な自由度の数
で独占的に使用されている用語です。
mgcv
. おっしゃるとおりです。
mgcv
は、その
plot.gam
という関数があります。
問題は、あなたが
gam
と
mgcv
という、互換性のない2つのパッケージを同時にRのセッションで使用することができます。あなたは
gam.mod
と
gam::gam
でプロットした後、そのモデルを
mgcv::plot.gam
.
を使用すると、通常、何が正しいのかに注意してください。
::
はここで効果を失います。通常、2つのパッケージが相互にマスクし合う関数を持つ場合、そのパッケージの
::
が救済策になります。しかし
mgcv
と
gam
というのは、全く不可能です。そこで提案ですが、もし
gam
には決して触れないでください。
mgcv
をRのセッションで使用することもできますし、その逆も可能です。
そこで、新しいRセッションを立ち上げて、次のようにすると、すべてがうまくいくのです!
library(gam)
library(ISLR) # contains the Wage dataset used here
gam.mod <- gam(wage ~ s(year, 4) + s(age, 5) + education, data = Wage)
par(mfrow = c(2,2)); plot(gam.mod)
ご回答ありがとうございました。実際に読み込んだことはないのですが
mgcv
の依存関係だとばかり思っていました。gam
. 私は新しいRセッションを開始し、あなたが提供したコードが動作しました。私は、それが実際にあることを発見しました。car
ライブラリが同じ問題を引き起こしています。
mgcv
と
gam
は互いに依存しませんが
mgcv
よりも人気があります。
gam
多くのパッケージは
mgcv
例えば
car
:
car: Companion to Applied Regression
Functions and Datasets to Accompany J. Fox and S. Weisberg, An R Companion to
Applied Regression, Second Edition, Sage, 2011.
Version: 2.1-3
Depends: R (≥ 3.2.0)
Imports: MASS, mgcv, nnet, pbkrtest (≥ 0.4-4), quantreg, grDevices, utils,
stats, graphics
Imports"フィールドに注目してください。
library(car)
は、これらのパッケージを同時に読み込みます。
関連
-
[解決済み】数学関数への非数値引数
-
[解決済み] 変数の型(リスト)が無効です
-
[解決済み] テスト
-
[解決済み】「次のオブジェクトは 'package:xxx' からマスクされています」とはどういう意味ですか?
-
[解決済み】Rで立方根と対数変換をする
-
[解決済み】ggplot boxplotでPosition-dodge警告?
-
[解決済み】R 置換する項目数が置換長の倍数でない/しかし結果は正しい
-
[解決済み] 因子を日付形式に変換するにはどうすればいいですか?
-
[解決済み】ggplot2でのプロット:「Error: カテゴリ軸のY軸に "Discrete value supplied to continuous scale "と表示される。
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み】R - if文の引数の長さが0である。
-
[解決済み] テスト
-
[解決済み】lis[[i]]のエラー:1つ未満の要素を選択しようとした場合
-
[解決済み] テスト
-
[解決済み】match.fun(FUN)でのエラーについて)
-
[解決済み】「Error in stripchart.default(x1, ...) : invalid plotting method」エラーを回避する方法は?
-
[解決済み】randomForestの実行予測で「NA/NaN/Inf in foreign function call (arg 7)」をなくすには?
-
[解決済み】R4DSのエラー比較(1)は、アトミック型とリスト型でのみ可能です
-
[解決済み】Rで「中断されたプロミスの評価を再開する」という警告を回避する