2011-06-11 21 views
7

En este impresionante foro vi una publicación que muestra cómo convertir una cadena a una variable y asignarle un marco de datos a esa variable. Por ejemplo:guardar un dataframe R con el nombre especificado por una cadena

x = "thisisthestring"

# df is a data frame 
assign(x, df) # This will assign data frame df to variable thisisthestring 

Lo que quiero hacer es guardar esta trama de datos con el nombre thisisthestring. Sin embargo, si intento

assign(x, df) 
save(x, file='somefilename.rda') 

el archivo solo contiene una cadena "thisisthestring" y no el df trama de datos.

También probé

save(assign(x, df), file = 'somefile.rda')) 

que no funciona bien. Cualquier sugerencia de cómo puedo guardar el marco de datos en un archivo, donde el nombre del marco de datos está especificado por la cadena.

+0

posible duplicado de [cómo guardar() con un nombre de variable en particular] (http://stackoverflow.com/questions/4675755/how-to-save-with-a-particular- variable-name) –

+0

No es un duplicado de esa pregunta. – Mars

Respuesta

12

Agregue x al argumento list de save(). Desde el archivo de ayuda:

list Un vector de caracteres que contiene los nombres de los objetos que se guardarán.

save(list=x, file='somefilename.rda') 
+0

+1 me ganó en unos 20 segundos :-) –

+0

¡Impresionante! Gracias. Esto es lo que estaba buscando. – Curious2learn

6

desea pasar x como argumento a la función listsave(), no como parte del argumento ... (el primer argumento de save()). Esto debería funcionar:

save(list = x, file='somefilename.rda') 
Cuestiones relacionadas