2015-07-12 74 views
-1

我在R中遇到了這個小問題:我加載了一個數據集,對其進行了修改並將其存儲在變量「mean」中。然後,我使用的其他變量「數據集」也含有該數據集R:存儲在變量中的對象的名稱

data<-read.table() [...modification on data...] mean<-data dataset<-mean

我在劇本等其他一些功能,並在年底使用的變量「數據集」我想在一個文件中存儲名爲"table_mean.csv"

當然命令write.csv(tabCorr,file=paste("table_",dataset,".csv",sep="")) 也不是我想要的一個與...,quote(dataset)...做...

有誰知道我怎麼可以檢索「的意思是」(作爲字符串)從「數據集」?

(其目的是,我可以使用這個腳本用於其它目的簡單地改變例如dataset<-variance

預先感謝您!

+0

您的問題很不清楚,請嘗試使其更具可重複性。 –

回答

0

我認爲你正試圖像下面的代碼做什麼事:

data1 <- 1:4 
data2 <- 4:8 

## Configuration ### 

useThisDataSet <- "data2" # Change to "data1" to use other dataset. 

currentDataSet <- get(x = useThisDataSet) 

## Your data analysis. 

result <- fivenum(currentDataSet) 

## Save results. 

write.csv(x = result, file = paste0("table_", useThisDataSet, ".csv")) 

然而,一個更好的替代方法是來包裝你的代碼的功能,並通過在您的數據:

doAnalysis <- function(data, name) { 

    result <- fivenum(data) 
    write.csv(x = result, file = paste0("table_", name, ".csv")) 
} 

doAnalysis(data1, "data1") 

如果您始終想使用傳入函數的對象的名稱作爲文件名的一部分,我們可以使用非標準評估來保存一些輸入:

doAnalysisShort <- function(data) { 

    result <- fivenum(data) 
    write.csv(x = result, file = paste0("table_", substitute(data), ".csv")) 
} 

doAnalysisShort(data1)