Ho un modello non lineare e ho provato a chiamare summary.nls
ma ottengo questo errore:
Errore: impossibile trovare la funzione "summary.nls"
Questo è strano perché ho installato il pacchetto stats e quando lo uso library(help="stats")
Vedo summary.nls
elencati. Posso usare altre funzioni dal stats
pacchetto come summary.lm
o summary.aov
ma per qualche ragione summary.nls
non funziona.
Qualcuno sa perché?
risposte:
1 per risposta № 1Non chiamare summary.nls()
direttamente. Se chiami summary()
su un nls
oggetto, otterrai il comportamento desiderato. Dalla pagina di aiuto
DNase1 <- subset(DNase, Run == 1)
fm1DNase1 <- nls(density ~ SSlogis(log(conc), Asym, xmid, scal), DNase1)
class(fm1DNase1)
# [1] "nls"
summary(fm1DNase1)
Queste implementazioni di funzioni generiche sono spesso nascoste (non esportate direttamente dal pacchetto, anche se possono essere documentate). Se corri methods(summary)
otterrai
[1] summary.aov summary.aovlist*
[3] summary.aspell* summary.check_packages_in_dir*
[5] summary.connection summary.data.frame
[7] summary.Date summary.default
[9] summary.ecdf* summary.factor
[11] summary.glm summary.infl*
[13] summary.lm summary.loess*
[15] summary.manova summary.matrix
[17] summary.mlm* summary.nls*
[19] summary.packageStatus* summary.PDF_Dictionary*
[21] summary.PDF_Stream* summary.POSIXct
[23] summary.POSIXlt summary.ppr*
[25] summary.prcomp* summary.princomp*
[27] summary.proc_time summary.srcfile
[29] summary.srcref summary.stepfun
[31] summary.stl* summary.table
[33] summary.tukeysmooth*
L'asterisco indica che la funzione è nascosta. Per funzioni generiche come summary()
, la versione corretta è chiamata basata su class()
del primo oggetto passato alla funzione.