Hola: Nuevo en R, vengo del mundo de SAS y cuesta traducir del SAS al R. El caso es que en SAS existen las llamadas variables macro que te permiten utilitzarlas como nombres de ficheros o variables. Intento traducir el concepto en R sin conseguirlo. Este es mi ejemplo simple que no funciona: XFI = "consultas" paste(XFI) <- data.frame(ED = trunc(rnorm(10, mean=35, sd=15)), PE = trunc(rnorm(10, mean=60, sd=15))) es decir, quiero que el nombre de la tabla de datos sea el contenido de "XFI" (que varia de un programa a otro). Seguro que es una animalada ya que da el error:> XFI = "consultas" > paste(XFI) <- data.frame(ED = trunc(rnorm(10, mean=35, sd=15)),+ PE = trunc(rnorm(10, mean=60, sd=15))) Error in paste(XFI) <- data.frame(ED = trunc(rnorm(10, mean = 35, sd = 15)), : could not find function "paste<-" Como podria hacer esto en R? Muchas gracias y saludos!! Griera.
Jorge Ayuso Rejas
2013-Mar-07 10:17 UTC
[R-es] Utilitzar nombre de objeto como nombre de otro objeto
Lo puedes hacer con assign, mira la ayuda poniendo ?assign Saludos. El 7 de marzo de 2013 11:11, Griera <griera@gmail.com> escribió:> Hola: > > Nuevo en R, vengo del mundo de SAS y cuesta traducir del SAS al R. > > El caso es que en SAS existen las llamadas variables macro que te permiten > utilitzarlas como nombres de ficheros o variables. Intento traducir el > concepto en R sin conseguirlo. > > Este es mi ejemplo simple que no funciona: > > XFI = "consultas" > paste(XFI) <- data.frame(ED = trunc(rnorm(10, mean=35, sd=15)), > PE = trunc(rnorm(10, mean=60, sd=15))) > > es decir, quiero que el nombre de la tabla de datos sea el contenido de > "XFI" (que varia de un programa a otro). Seguro que es una animalada ya que > da el error: > > > XFI = "consultas" > > paste(XFI) <- data.frame(ED = trunc(rnorm(10, mean=35, sd=15)), > + PE = trunc(rnorm(10, mean=60, sd=15))) > Error in paste(XFI) <- data.frame(ED = trunc(rnorm(10, mean = 35, sd > 15)), : > could not find function "paste<-" > > Como podria hacer esto en R? > > Muchas gracias y saludos!! Griera. > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Jorge Ayuso Rejas [[alternative HTML version deleted]]
Hola Jorge: On Thu, 7 Mar 2013 11:17:17 +0100 Jorge Ayuso Rejas <jayusor en gmail.com> wrote:> Lo puedes hacer con assign, mira la ayuda poniendo ?assignMuchas gracias por esta ayuda y por la rapidez. Funciona!!:> XFI = "consultas" > set.seed(12345) > assign(XFI, data.frame(ED = trunc(rnorm(10, mean=35, sd=15)),+ PE = trunc(rnorm(10, mean=60, sd=15))))> consultasED PE 1 43 58 2 45 87 3 33 65 4 28 67 5 44 48 6 7 72 7 44 46 8 30 55 9 30 76 10 21 64 Y yo peleándome con "paste"!!! Saludos!!> > > Saludos. > > > El 7 de marzo de 2013 11:11, Griera <griera en gmail.com> escribió: > > > Hola: > > > > Nuevo en R, vengo del mundo de SAS y cuesta traducir del SAS al R. > > > > El caso es que en SAS existen las llamadas variables macro que te permiten > > utilitzarlas como nombres de ficheros o variables. Intento traducir el > > concepto en R sin conseguirlo. > > > > Este es mi ejemplo simple que no funciona: > > > > XFI = "consultas" > > paste(XFI) <- data.frame(ED = trunc(rnorm(10, mean=35, sd=15)), > > PE = trunc(rnorm(10, mean=60, sd=15))) > > > > es decir, quiero que el nombre de la tabla de datos sea el contenido de > > "XFI" (que varia de un programa a otro). Seguro que es una animalada ya que > > da el error: > > > > > XFI = "consultas" > > > paste(XFI) <- data.frame(ED = trunc(rnorm(10, mean=35, sd=15)), > > + PE = trunc(rnorm(10, mean=60, sd=15))) > > Error in paste(XFI) <- data.frame(ED = trunc(rnorm(10, mean = 35, sd > > 15)), : > > could not find function "paste<-" > > > > Como podria hacer esto en R? > > > > Muchas gracias y saludos!! Griera. > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > -- > Jorge Ayuso Rejas