2016-08-19 14 views
5

Gam paketinde yaptığım R oyununda bir gam nesnesi çizmeye çalışıyorum. Error in 1:object$nsdf : argument of length 0 when using plot.gam'da bildirilen aynı hatayı alıyorum. Ancak, orada bulunan çözüm, en son sürümlere (bence) güncellemek, benim için çalışmıyor. R 3.3.1, gam 1.12 ve mgcv 1.8.12'yi çalıştırıyorum (mgcv, plot.gam işlevinin bulunduğu yerdir).

Ne yazık ki, çalıştığım verileri paylaşamıyorum. Ancak, aşağıdaki kod - doğrudan Int.2'nin p.294'ünden alınmıştır. - R ile İstatistiksel Öğrenme için beni hatayı çoğalır:

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) 

herkes burada devam ya da nasıl düzeltmek için ne biliyor mu?

Teşekkür ederiz.

cevap

4

Öneri

iyi bir fikir bir R oturumu GAM analizi çalışmasına uygun olup olmadığını kontrol etmek için bu oyuncak fonksiyonu var olabilir.

GAM_status <- function() { 
    if (all(c("gam", "mgcv") %in% .packages())) print("Not OK") 
    else print("OK") 
    } 

nsdf

özgürlük katı derecesi sayısı, bir terim sadece mgcv kullanılan olup. Bahsettiğiniz gibi: mgcv, plot.gam işlevinin bulunduğu konumdur.

Sorun, R oturumuyla aynı anda iki uyumlu olmayan paketiniz olan gam ve mgcv olmasıdır. gam.mod'nuzu gam::gam ile sığdırın, ancak modeli mgcv::plot.gam ile çizin.

Not: Normalde :: kullanarak doğru olanı burada etkisini kaybedecektir. Normalde iki paketin maskelenmiş bazı işlevleri olduğunda, :: çözümdür. Ancak, mgcv ve gam için, bu tamamen imkansızdır. Benim önerim, gam kullanırsanız, R oturumunuzda hiç mgcv'a dokunmayın ve tersini yapın.

Yeni bir R oturumu başlatıyorum ve aşağıdakileri yapın, her şey yolunda!


enter image description here

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) 

Cevabınız için teşekkür ederiz. Asla mgcv'u yüklemedim, sadece gam için bir bağımlılık olduğunu varsaydım. Yeni bir R oturumu başlattım ve sağladığınız kod işe yaradı. Ben aslında aynı soruna neden olan car kitaplığı olduğunu buldum.

mgcv ve gam birbirlerine bağlı değildir, ancak mgcvgam daha popüler olduğu için, birçok paket car, örneğin, mgcv bağımlılığı vardır: "İthalat" alanı

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 

Not library(car), bu paketleri aynı anda yükleyecektir.

+0

Cevabınız için teşekkür ederiz. Ben asla mgcv yüklemedim, sadece gam için bir bağımlılık olduğunu varsadım. Yeni bir R oturumu başlattım ve sağladığınız kodu çalıştırdım. Ben aslında aynı soruna neden olan '' '' '' '' '' '' '' '' '' kitap olduğunu buldum. '' '' '' Notasyonu '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' meseleyi çözmez. –

İlgili konular