1
我想在R中做些什麼,我認爲不應該太難。我有一個包含許多文件的文件夾。他們都是這樣的。在R中,遍歷目錄和存儲文件名在列
airbag.WS-U-E-A.lst
.
是一個分隔符,.lst
是擴展(如可讀文本)。
每個文件包含每行數據,如
/home/nobackup/SONAR/COMPACT/WR-U-E-A/WR-U-E-A0000075.data.ids.xml: <sentence>ja voor den airbag op te pompen eh :p</sentence>
/home/nobackup/SONAR/COMPACT/WR-U-E-A/WR-U-E-A0000129.data.ids.xml: <sentence>Dobby , als ze valt heeft ze dan wel al ne airbag hee</sentence>
我想要做的是,R中創建一個包含所有文件數據的新的數據集。理想情況下,應該是這樣的:
ID | filename | word | component | left-context | right-context
---------------------------------------------------------------------------------------
1 airbag.WS-U-E-A.lst airbag WS-U-E-A ja voor den op te pompen eh :p
2 airbag.WS-U-E-A.lst airbag WS-U-E-A Dobby , als ze valt heeft ze dan wel al ne hee
生成所有的內容是什麼,我應該能夠做我自己有對文件的一些正則表達式,但我不完全知道如何循環中的所有文件。例如,我會從文件名的正則表達式函數中獲取組件和單詞信息,但是如何將每個文件的文件名存儲在列中?
我嘗試以下
files <- list.files(path="", pattern="*.lst", full.names=T, recursive=FALSE)
lapply(files, function(x) {
t <- dirname(x)
out <- function(t)
})
t
但返回的錯誤是
Error: unexpected '}' in:
"out <- function(t)
}"
什麼是'out < - function(t)'在做什麼?你沒有爲它定義任何funkuanality。 – 2015-03-31 10:19:49
其實你不需要在這裏定義任何函數,只需'lapply(files,dirname)'應該做的。 – 2015-03-31 11:08:19
@DavidArenburg我把這個函數分配給t,並回顯t,如下所示: 'files < - list.files(pattern =「*。lst」,full.names = T,recursive = FALSE) t < - lapply (文件,dirname) t'然而,回聲是空的。或者至少,echo包含337個值(等於文件數量),它們都是'「。」'而不是文件名。 – 2015-03-31 11:16:36