Guillermo.Vinue en uv.es
2012-Feb-13 14:24 UTC
[R-es] Nombres de vectores dentro de un bucle
Hola, Tengo dos vectores que se llaman obj.1 y obj.2 y me gustaría acceder a ellos dentro de un bucle del siguiente modo: obj.1 <- c(1,2) obj.2 <- c(3,4) obj_nuevo <- c() for(i in 1:2){ obj_nuevo[i] <- obj.i[i] } pero me da error porque R no me reconoce el objeto obj.i He probado con paste() y assign() pero no logro solucionarlo, ¿alguien me puede ayudar?. Muchas gracias. Un saludo, Guillermo
Intenta con ... eval(as.name(paste("obj.",i,sep=""))) HTH Rubén -----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Guillermo.Vinue en uv.es Enviado el: lunes, 13 de febrero de 2012 15:25 Para: r-help-es en r-project.org Asunto: [R-es] Nombres de vectores dentro de un bucle Hola, Tengo dos vectores que se llaman obj.1 y obj.2 y me gustaría acceder a ellos dentro de un bucle del siguiente modo: obj.1 <- c(1,2) obj.2 <- c(3,4) obj_nuevo <- c() for(i in 1:2){ obj_nuevo[i] <- obj.i[i] } pero me da error porque R no me reconoce el objeto obj.i He probado con paste() y assign() pero no logro solucionarlo, ¿alguien me puede ayudar?. Muchas gracias. Un saludo, Guillermo _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Carlos J. Gil Bellosta
2012-Feb-13 14:32 UTC
[R-es] Nombres de vectores dentro de un bucle
Hola, ¿qué tal? Lo más sencillo que puedes hacer es crear una lista de vectores: a <- list( obj.1, obj.2 ) Entonces sí que puedes indexar: a[[1]][1] a[[2]][2] Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El día 13 de febrero de 2012 15:24, <Guillermo.Vinue en uv.es> escribió:> Hola, > > Tengo dos vectores que se llaman obj.1 y obj.2 y me gustaría acceder a > ellos dentro de un bucle del siguiente modo: > > obj.1 <- c(1,2) > obj.2 <- c(3,4) > > obj_nuevo <- c() > > for(i in 1:2){ > obj_nuevo[i] <- obj.i[i] > } > > pero me da error porque R no me reconoce el objeto obj.i > > He probado con paste() y assign() pero no logro solucionarlo, ¿alguien > me puede ayudar?. > > Muchas gracias. > > Un saludo, > > Guillermo > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es
Hola Guillermo, Intenta # datos obj.1 <- c(1,2) obj.2 <- c(3,4) # una linea c(sapply(paste(''obj.'', 1:2, sep = ""), get)) # por pasos res <- paste(''obj.'', 1:2, sep = "") res # toma cada entrada y "get" la informacion correspondiente res2 <- sapply(res, get) res2 # formato c(res2) Dale una mirada a ?paste, ?sapply y ?get para mas informacion. Un saludo, Jorge.- 2012/2/13 <>> Hola, > > Tengo dos vectores que se llaman obj.1 y obj.2 y me gustaría acceder a > ellos dentro de un bucle del siguiente modo: > > obj.1 <- c(1,2) > obj.2 <- c(3,4) > > obj_nuevo <- c() > > for(i in 1:2){ > obj_nuevo[i] <- obj.i[i] > } > > pero me da error porque R no me reconoce el objeto obj.i > > He probado con paste() y assign() pero no logro solucionarlo, ¿alguien > me puede ayudar?. > > Muchas gracias. > > Un saludo, > > Guillermo > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
Hola Guillermo, Lo que haces en principio no tiene mucho sentido porque estas creando dos objetos iguales, cosa que puedes hacer asi tambi''en: obj_nuevo <- obj.1 Cual es el objetivo final? Un slaudo Patricia El 13 de febrero de 2012 15:24, <Guillermo.Vinue@uv.es> escribió:> Hola, > > Tengo dos vectores que se llaman obj.1 y obj.2 y me gustaría acceder a > ellos dentro de un bucle del siguiente modo: > > obj.1 <- c(1,2) > obj.2 <- c(3,4) > > obj_nuevo <- c() > > for(i in 1:2){ > obj_nuevo[i] <- obj.i[i] > } > > pero me da error porque R no me reconoce el objeto obj.i > > He probado con paste() y assign() pero no logro solucionarlo, ¿alguien > me puede ayudar?. > > Muchas gracias. > > Un saludo, > > Guillermo > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Patricia García González [[alternative HTML version deleted]]
Guillermo.Vinue en uv.es
2012-Feb-14 08:43 UTC
[R-es] Nombres de vectores dentro de un bucle
Hola Rubén, tu ocpión también me ha servido, muchas gracias. Un saludo, Guillermo> > Intenta con ... > > eval(as.name(paste("obj.",i,sep=""))) > > HTH > > Rubén > > -----Mensaje original----- > De: r-help-es-bounces en r-project.org[mailto:r-help-es-bounces en r-project.org] En nombre de Guillermo.Vinue en uv.es> Enviado el: lunes, 13 de febrero de 2012 15:25 > Para: r-help-es en r-project.org > Asunto: [R-es] Nombres de vectores dentro de un bucle > > Hola, > > Tengo dos vectores que se llaman obj.1 y obj.2 y me gustaría acceder aellos dentro de un bucle del siguiente modo:> > obj.1 <- c(1,2) > obj.2 <- c(3,4) > > obj_nuevo <- c() > > for(i in 1:2){ > obj_nuevo[i] <- obj.i[i] > } > > pero me da error porque R no me reconoce el objeto obj.i > > He probado con paste() y assign() pero no logro solucionarlo, ¿alguienme puede ayudar?.> > Muchas gracias. > > Un saludo, > > Guillermo > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >
miguel.angel.rodriguez.muinos en sergas.es
2012-Feb-14 10:30 UTC
[R-es] Mixing R, Python, and Perl in 14 lines of code
Me ha parecido interesante.. http://www.johndcook.com/blog/2012/02/09/mixing-r-python-and-perl-in-13-lines-of-code/ (no lo encontré en castellano, sorry). Un Saludo, Miguel. Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm