Me pregunto si hay una manera simple de producir una lista de variables usando un bucle for y dar su valor.
for(i in 1:3)
{
noquote(paste("a",i,sep=""))=i
}
En el código anterior, trato de crear a1
, a2
, a3
, que asignan a los valores de 1, 2, 3. Sin embargo, R da un mensaje de error. Gracias por tu ayuda.
names
parámetro y luego usarlo,attach
o convertirlo en un entorno dentrolist2env
yeval
dentro de él. Sin bucles, análisis u otras cosas feas.list2env
es una función relativamente nueva. Y aún así producirá las variables en algún entorno, cuando el OP quiera obtener las variables en el entorno superior. Así que la fealdad aún permanece :)Respuestas:
Tu estas buscando
assign()
.da
y
Actualizar
Estoy de acuerdo en que usar bucles es (muy a menudo) un mal estilo de codificación R (ver discusión más arriba). Usando
list2env()
(gracias a @mbq por mencionarlo), esta es otra solución a la pregunta de @Han Lin Shang:fuente
Si los valores están en vector, el bucle no es necesario:
Como nota al margen, esta es la razón por la que amo a R.
fuente
library(fortunes)
fortune(106)
parse
después de leer las páginas de ayuda de R. Estoy de acuerdo en que a veces es una exageración, por ejemplo enformula
administración, pero me pareció muy útil. Tenga en cuenta que no puedo repensar la pregunta como se sugiere en la fortuna, ya que no la hice.