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@gmail.com To: gabriel_enter@hotmail.com CC: r-help-es@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@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@r-project.org stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]
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 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 > stat.ethz.ch/mailman/listinfo/r-help-es > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > stat.ethz.ch/mailman/listinfo/r-help-es >
Estimado Gabriel Por su respuesta y el aporte de Carlos Gil Bellosta, creo que por lo que sale en: getAnywhere(print.nls) Por lo que usted dice de una función. Yo escribiría dos funciones, suponiendo que en la primera solo solicito fitted(A) y en la segunda fitted(A) más otras cosas. Entonces cuándo quiero el listado completo ejecuto la segunda función, y en el caso de necesitar que algo quede oculto, utilizo la primer función. Javier Marcuzzi From: Gabriel Trujillo Paucar Sent: Tuesday, May 28, 2013 2:06 PM To: Javier Marcuzzi Cc: r-help-es@r-project.org Subject: RE: [R-es] Ocultar componentes de una lista 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@gmail.com To: gabriel_enter@hotmail.com CC: r-help-es@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@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@r-project.org stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]
Hola Carlos, Gracias, fue de mucha ayuda pero porque cuando veo la estructura de la funcion "nls" con la funcion "body", en la parte final tiene: ...... if (model) nls.out$model <- mf if (!mWeights) nls.out$weights <- wts nls.out$control <- control class(nls.out) <- "nls" nls.out } Se coloca el objeto nls.out al final y no se usa la funcion "print" que me mostraste Saludos Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768> Date: Tue, 28 May 2013 19:12:43 +0200 > Subject: Re: [R-es] Ocultar componentes de una lista > From: cgb@datanalytics.com > To: gabriel_enter@hotmail.com > CC: javier.ruben.marcuzzi@gmail.com; r-help-es@r-project.org > > 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 > datanalytics.com > > El día 28 de mayo de 2013 19:06, Gabriel Trujillo Paucar > <gabriel_enter@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@gmail.com > > To: gabriel_enter@hotmail.com > > CC: r-help-es@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@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@r-project.org > > stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org > > stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]