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