Estoy aplicando repetidamente una función para leer y procesar un grupo de archivos csv. Cada vez que se ejecuta, la función crea un marco de datos (this.csv.data
) y usa guardar() para escribirlo en un archivo .RData con un nombre único. El problema es que más adelante cuando leo estos archivos .RData usando load(), los nombres de las variables cargadas no son únicos, porque cada uno se carga con el nombre this.csv.data
....cómo guardar() con un nombre de variable particular
Me gustaría guardarlos con etiquetas únicas para que salgan correctamente nombrados cuando los cargue(). Creé el siguiente código para ilustrar.
this.csv.data = list(data=c(1:9), unique_tag = "some_unique_tag")
assign(this.csv.data$unique_tag,this.csv.data$data)
# I want to save the data,
# with variable name of <unique_tag>,
# at a file named <unique_tag>.dat
saved_file_name <- paste(this.csv.data$unique_tag,"RData",sep=".")
save(get(this.csv.data$unique_tag), saved_file_name)
pero la última línea muestra
"Error in save(get(this_unique_tag), file = data_tag) :
object ‘get(this_unique_tag)’ not found"
a pesar de que las siguientes declaraciones de los datos que acaba de finos:
get(this.csv.data$unique_tag)
Creo que también podría echar un vistazo al argumento 'envir' en' load() 'para conservar los nombres originales de las columnas si son importantes. Si no necesita procesar varios archivos a la vez, ¿no podría 'rm()' el objeto después de su análisis antes de pasar al siguiente archivo? – Chase
@Chase, los nombres de columna todavía parecen estar bien, son los nombres duplicados de los dataframes creados que fueron el problema. A la larga, espero unir estos marcos de datos en uno grande y, como sugieres, puede ser que no los necesite más de uno a la vez. –