Sto ripetutamente applicando una funzione per leggere ed elaborare un mucchio di file CSV. Ogni volta che viene eseguita, la funzione crea un frame di dati (this.csv.data
) e utilizza save() per scriverlo in un file .RData con un nome univoco. Il problema è, più tardi, quando leggo questi file .RData usando load(), i nomi delle variabili caricate non sono univoci, perché ognuno carica con il nome this.csv.data
....come salvare() con un nome di variabile particolare
Mi piacerebbe salvarli con tag unici in modo che escano correttamente nominati quando li carico(). Ho creato il seguente codice per illustrare.
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)
ma l'ultima riga torna
"Error in save(get(this_unique_tag), file = data_tag) :
object ‘get(this_unique_tag)’ not found"
anche se i seguenti restituisce i dati più che bene:
get(this.csv.data$unique_tag)
Penso che si potrebbe anche dare un'occhiata all'argomento 'envir' in' load() 'per mantenere i nomi delle colonne originali se sono importanti. Se non hai bisogno di elaborare più file contemporaneamente, non potresti 'rm()' l'oggetto dopo l'analisi prima di passare al file successivo? – Chase
@Chase, i nomi delle colonne sembrano ancora venire bene, sono i nomi duplicati dei datafram creati che rappresentavano il problema. A lungo termine, prevedo di trasformare questi frame di dati in uno grande e, come suggerisci, potrebbe non averne bisogno più di uno alla volta. –