
Hola, Gabriel:

Si consultas el código de la función nls verás, al final del todo, que hace lo siguiente:

 class(nls.out) <- "nls"
 nls.out


Ello significa que está indicando que nls.out pertenece a la clase nls, con todo lo que ello conlleva; así pues, la función print de la clase nls será la que se aplique internamente cuando se haga nls.out (es decir, cuando se muestre el objeto). ¿Qué significa ésto?. Significa que nls.out tendrá la totalidad de componentes que le hayamos atribuido (de ahí que el str sea consecuente con ello) pero la manera de mostrarse (el nls.out) dependerá de cómo se haya programado la función print de la clase nls. Conclusión: Realmente no se ocultan componentes, sino que se visualizan aquellos que son de interés, y con la presentación que se elija.

A lo mejor me equivoco (por favor, que alguien me corrija) pero creo que tu duda arranca de esta cuestión.

Ánimo.

Eva

--- El mar, 28/5/13, Gabriel Trujillo Paucar <gabriel_enter@hotmail.com> escribió:

De: Gabriel Trujillo Paucar <gabriel_enter@hotmail.com>
Asunto: [R-es] Ocultar componentes de una lista
Para: "r-help-es@r-project.org" <r-help-es@r-project.org>
Fecha: martes, 28 de mayo, 2013 18:25

Saludos a todos,

 

Quisiera saber como ocultar algunos componentes de una lista para que cuando crees una funcion solo se muestre una parte de esa lista, y que al resto tengas acceso cuando descompongas ese objeto, por ejemplo:

 

Tengo la siguiente data:

 

data=data.frame(Samples=1:10,Sobs=c(12.6,22.4,27.4,30.5,32.5,34.3,36,37.4,38.9,39.9))

 

Cuando uso la funcion nls:

 

A <- nls(Sobs~A*Samples/(1+(B*Samples)), start=list(A=5, B=1), data=data)

 

El resultado que me arroja es :

 

Nonlinear regression model
  model: Sobs ~ A * Samples/(1 + (B * Samples))
   data: data
      A       B 
19.0918  0.3822 
 residual sum-of-squares: 3.295

Number of iterations to convergence: 6 
Achieved convergence tolerance: 9.867e-06

 

sin embargo la estructura completa del objeto que produce la funcion "nls" se puede ver con la funcion "str" :

 

str(A)

 

la cual es la siguiente:

 

List of 6
 $ m          :List of 16
  ..$ resid     :function ()  
  ..$ fitted    :function ()  
  ..$ formula   :function ()  
  ..$ deviance  :function ()  
  ..$ lhs       :function ()  
  ..$ gradient  :function ()  
  ..$ conv      :function ()  
  ..$ incr      :function ()  
  ..$ setVarying:function (vary = rep(TRUE, length(useParams)))  
  ..$ setPars   :function (newPars)  
  ..$ getPars   :function ()  
  ..$ getAllPars:function ()  
  ..$ getEnv    :function ()  
  ..$ trace     :function ()  
  ..$ Rmat      :function ()  
  ..$ predict   :function (newdata = list(), qr = FALSE)  
  ..- attr(*, "class")= chr "nlsModel"
 $ convInfo   :List of 5
  ..$ isConv     : logi TRUE
  ..$ finIter    : int 6
  ..$ finTol     : num 9.87e-06
  ..$ stopCode   : int 0
  ..$ stopMessage: chr "converged"
 $ data       : symbol data
 $ call       : language nls(formula = Sobs ~ A * Samples/(1 + (B * Samples)), data = data, start = list(A = 5,      B = 1), algorithm = "default", control = structure(list(maxiter = 50, tol = 1e-05,  ...
 $ dataClasses: Named chr "numeric"
  ..- attr(*, "names")= chr "Samples"
 $ control    :List of 5
  ..$ maxiter  : num 50
  ..$ tol      : num 1e-05
  ..$ minFactor: num 0.000977
  ..$ printEval: logi FALSE
  ..$ warnOnly : logi FALSE
 - attr(*, "class")= chr "nls"

 

Como se observa muchos de estos elmentos no son mostrados en el resultado de la funcion a menos que se use la funcion "str"

, quisiera saber como hacer esto, ocultar algunos elementos de una lista producida por una funcion, pero igual tener acceso a esos elementos cuando se le haga el llamado con la funcion "str". Ademas como hace para que el resultado de su funcion salga de esa manera tan ordenada y no como se lo mostraria una lista (ya que el objeto final es una lista) 

 

Les agradesco de antemano por la ayuda

 

 

 

 

Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
     997603768
 

                           
    [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

	[[alternative HTML version deleted]]

