我想知道一個簡單的方法是節約R中的物體,使用可變objectName
用什麼要保存的對象的名稱。我希望這可以很容易地保存對象,並在文件名中包含它們的名字。
我試圖使用get
,但我沒有設法保存該對象的原始對象名稱。
例子:
如果我有所謂的「臨時」的對象,這是我想在目錄「DATADIR」保存。我把對象的名字放在變量「objectName」中。
嘗試1:
objectName<-"temp"
save(get(objectName), file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
這不起作用,因爲R期望可以保存對象稱爲get(objectName)
,而不是這個調用的結果。所以,我試過如下:
嘗試2:
objectName<-"temp"
object<-get(objectName)
save(object, file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
這顯然沒有奏效,因爲[R節省名稱爲「對象」的對象,而不是名稱爲「溫度」。加載後,我有一個「對象」的副本,而不是「臨時」。 (是的,內容相同......但這不是我想要的:))。所以我認爲它應該是有指針的東西。所以嘗試了以下內容:
嘗試3:
objectName<-"temp"
object<<-get(objectName)
save(object, file=paste(dataDir, objectName, ".RData", sep=""))
load(paste(dataDir, objectName, ".RData", sep=""))
相同的結果,嘗試2。但我不知道我在做什麼,我認爲我做的。
這是什麼解決方案?
這正是我需要的,謝謝! – FBE
你也可以使用'paste0(objectName,'.RData')',這會爲你節省幾個筆畫。 –