2011-09-06 79 views
-4

我試圖使用c()連接R中的許多向量。我已宣佈他們每個以「_n」結尾(即filename_n)。現在我想知道是否有更簡單的方法來讀取它們,而不僅僅是輸入每個變量。我知道在Bash中我可以用ls *.file_extension > filename來讀取所有的文件。有沒有類似的方法R.讀取R中的多個變量

謝謝。

+5

你是什麼意思的「數據集」? 「abc_n」是指R中變量的名稱,如果是,它是什麼類型(數據框?列表?矩陣?)還是「abc_n」是指磁盤上的文件,如果是,它是什麼格式和你打算如何將它讀入R(例如CSV - >數據幀)? – neilfws

+0

我的意思是我已經宣佈的向量。 – Dombey

+0

這是有益的/鼓勵你編輯你的問題澄清它,爲未來的讀者的利益,基於下面的評論中的討論... –

回答

5

根據我的理解,您可能會從閱讀?list.files,?read.table,?do.call,?sapply中受益。作爲例子的一種手段,

files = list.files(pattern="*.txt", path = ".") 
all = lapply(files, read.table, sep=",") 
combined = do.call(c, all) 

(未經測試)

編輯:它看起來像你?ls?get後,現在,

vars = lapply(ls(pattern = "_n"), get) 
do.call(c, vars) 

,或者更簡潔,

sapply(ls(pattern = "_n"), get) 
+0

確實;我的答案(http://stackoverflow.com/questions/7311372/r-merging-data-from-many-files-and-plot-them/7311591#7311591)到今天早些時候的類似問題也可能會有所幫助。 – joran

+0

我的數據集已經在R中聲明瞭。我應該從list.files()中取出路徑嗎? – Dombey

+0

我試過文件<-list.files(pattern =「* _ n」,path =「。」),但它給了我角色(0)。 – Dombey