2011-12-02 54 views
2

我對R非常陌生,一般編程,所以感謝您的耐心等待。請求用戶識別文件位置並自動從文件位置中提取變量名稱R

我想寫一個腳本,它讀取.txt文件中的值,並在一些操作之後繪製結果。我有兩個問題有些耦合。

首先,是否有一個功能要求用戶識別文件的位置?即用戶運行腳本。腳本打開文件導航提示並請求用戶導航並選擇相關文件。

目前,我必須手動識別文件和R.

spectra.raw < - 函數read.table( 「C:\用戶\ ... \ FILE1.TXT」,row.names = NULL,標題= TRUE)

我寧願讓用戶在每次腳本運行時識別文件位置。這將被非技術人員使用,我不相信他們將文件複製/粘貼到R.

我一直在努力的第二個問題是,是否有可能創建一個基於變量名關閉選中的文件?例如,如果用戶選擇「file1.txt」,我希望R將read.table()的輸出分配給一個名爲「file1.raw」的變量,就像上面的「spectra.raw」一樣。

If它有幫助,所有的文件名都有完全相同的字符數,所以如果可以從文件位置選擇最後5個字符,那就可以了。

非常感謝,請原諒我的無知。

回答

3

嘗試

file.choose 

我認爲它可以做你想做的。

例如,

myfile <- file.choose() 
Enter file name: adataset.Rdata 
load(myfile) 

myfile包含文件的名稱,這樣你就不必做什麼特別的事情。

4
  1. 請參閱file.choose。雖然我認爲它在不同平臺上的表現略有不同,但請小心。

  2. 參見assign,即assign("fileName",value)。您需要解析file.choose使用字符串操作函數(如substrstrsplit)吐出的文件路徑。