Eventuali duplicati:
how to save() with a particular variable nameSalva oggetto con nome variabile con oggetto
Mi chiedo che cosa un modo semplice è quello di salvare un oggetto in R, utilizzando una variabile objectName
con la nome dell'oggetto da salvare. Voglio questo per salvare facilmente gli oggetti, con il loro nome nel nome del file.
Ho provato a utilizzare get
, ma non sono riuscito a salvare l'oggetto con il suo nome oggetto originale.
Esempio:
Se ho l'oggetto chiamato "temp", che voglio salvare nella directory "datadir". Inserisco il nome dell'oggetto nella variabile "objectName".
Tentativo 1:
objectName<-"temp"
save(get(objectName), file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
Questo non ha funzionato, perché R cerca di salvare un oggetto chiamato get(objectName)
, anziché il risultato di questa chiamata. Così ho provato la seguente:
Tentativo 2:
objectName<-"temp"
object<-get(objectName)
save(object, file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
Questo, ovviamente, non ha funzionato, perché R salva l'oggetto con nome "oggetto", e non con il nome "temp". Dopo aver caricato ho una copia di "oggetto", invece di "temp". (Sì, con lo stesso contenuto ... ma non è quello che voglio :)). Quindi ho pensato che dovrebbe essere qualcosa con i puntatori. Così provato quanto segue:
Tentativo 3:
objectName<-"temp"
object<<-get(objectName)
save(object, file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
stesso risultato tentativo 2. Ma io non sono sicuro che sto facendo quello che penso che sto facendo.
Qual è la soluzione per questo?
Questo è esattamente quello di cui avevo bisogno, grazie! – FBE
Puoi anche usare 'paste0 (objectName, '.RData')', che ti farà risparmiare un paio di colpi. –