¿Cómo nombrar variables sobre la marcha?

Resuelto Maiasaura asked hace 54 años • 6 respuestas

¿Es posible crear nuevos nombres de variables sobre la marcha?

Me gustaría leer marcos de datos de una lista en nuevas variables con números al final. Algo así como orca1, orca2, orca3...

Si intento algo como

paste("orca",i,sep="")=list_name[[i]]

me sale este error

target of assignment expands to non-language object

¿Conoces alguna otra manera de resolver esto?

Maiasaura avatar Jan 01 '70 08:01 Maiasaura
Aceptado

Usar assign:

assign(paste("orca", i, sep = ""), list_name[[i]])
Shane avatar Apr 20 '2010 23:04 Shane

Me parece que sería mejor tener una lista en lugar de usar orca1, orca2, etc, ... entonces sería orca[1], orca[2], ...

Por lo general, estás haciendo una lista de variables diferenciadas únicamente por un número porque ese número sería una forma conveniente de acceder a ellas más adelante.

orca <- list()
orca[1] <- "Hi"
orca[2] <- 59

De lo contrario, assignes justo lo que quieres.

John avatar Apr 21 '2010 00:04 John