2012-06-15 71 views
11

我目前正在研究一個應該基於'配置'文件分析數據集的腳本。閱讀和使用自定義配置文件

這個文件的輸入,例如:

configuration.txt:

123456, 654321 
409,255,265 
1 

它可以包含onther值好,但他們將人是數字。在上述文件中描述的實施例應被理解在如下:

timestart <- 123456 
timeend <- 654321 
exclude <- c(409,255,265) 
paid <- 1 

配置文件的佈局是不固定的,但它應包含的開始時間(UNIX)的結束時間(UNIX)以與陣列要排除的號碼和其他字段。最後,它應該由用戶在GUI中指定的字段構建。我不知道哪種格式最適合這種情況,但只要我具備這些基本功能,我不認爲這會是一個大問題。

但是,這會使得更難知道哪些值屬於哪個變量。

+0

只需將配置文件寫成一個'.r'文件,其中包含的代碼與您寫的代碼完全相同,然後是'source()'它。這些變量將在您的環境中定義。 – Andrie

+3

類似的問題:http://stackoverflow.com/q/5272846/602276 – Andrie

+0

作爲一名R用戶/ Web開發人員,我建議使用JSON。有'rjson'和'RJSONIO'包適合(de)序列化。正如@Andrie所建議的那樣,IMO'source()'R腳本是最好的選擇。 – aL3xa

回答

21

事實上,正如Andrie所說,使用.r配置文件是最簡單的方法。我完全忽略了這個選項!

因此,只要與變量.R文件已在它:

#file:config.R 
timestart <- 123456 
timeend <- 654321 
exclude <- c(409,255,265) 
paid <- 1 

在其他腳本中使用:

瞧。謝謝Andrie!

+0

+1就是這樣。歡迎來到SO。 – Andrie

+0

同樣,我真的沒有想到這一點。儘管它很簡單。即使以後用於從網站獲得的輸入,我仍然可以完美地使用它。 –

+1

這很好,但理想情況下我想將設置加載到單獨的名稱空間中,這樣我就不會污染全局變量列表。我想我可以在.R文件中定義我自己的命名列表... – Leonid