[R-es] Ocultar componentes de una lista
Carlos J. Gil Bellosta
cgb en datanalytics.com
Mar Mayo 28 19:12:43 CEST 2013
Hola, ¿qué tal?
Si haces primero
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))
A <- nls(Sobs~A*Samples/(1+(B*Samples)), start=list(A=5, B=1), data=data)
y luego escribes
A
lo que ves en pantalla es lo mismo que si hubieses escrito
print(A).
Tu objeto A es de la clase "nls". Por lo tanto, la función print a la
que llamas es print.nls (dentro de las opciones que muestra
methods(print)). Si escribes
getAnywhere(print.nls)
verás el código de dicha función, cuáles de los componentes de A
muestra y de qué manera.
Un saludo,
Carlos J. Gil Bellosta
http://www.datanalytics.com
El día 28 de mayo de 2013 19:06, Gabriel Trujillo Paucar
<gabriel_enter en hotmail.com> escribió:
> Hola Javier,
>
>
>
> Creo que comprendio mal mi pregunta, quiero saber como ocultar algunos componentes de una lista producida por una funcion que uno crea, pero que solo esten ocultos y que pueda tener acceso a esos componentes cuando uso la funcion "str", la cual despliega todos los componentes de la lista. Además como hacer para que salga ordenado o de una forma preferida los componentes de la lista arrojada por la funcion y no de la estructura que tendria una lista comun, que suele colocar con [[]] sus componentes como coloque en el ejemplo.
>
>
>
> No se si se entiende bien mi pregunta
>
>
>
> Saludos,
>
>
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
> 997603768
>
>
>
>
>
>
> Date: Tue, 28 May 2013 13:36:04 -0300
> Subject: Re: [R-es] Ocultar componentes de una lista
> From: javier.ruben.marcuzzi en gmail.com
> To: gabriel_enter en hotmail.com
> CC: r-help-es en r-project.org
>
>
> Estimado Gabriel Trujillo Paucar
>
>
> Del str en el segundo renglón está fitted.
>
>
> ¿Usted pregunta algo como el siguiente ejemplo?
>
>
> fitted(A)
>
>
>
> O comprendí mal su pregunta.
>
>
> Javier Marcuzzi
>
>
>
> El 28 de mayo de 2013 13:25, Gabriel Trujillo Paucar <gabriel_enter en hotmail.com> escribió:
>
> 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 en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
> [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
Más información sobre la lista de distribución R-help-es