2014-09-28 111 views
1

我想閱讀多個文本文件來做自動文本分析。我的文件是txt文件,我使用list.files列出目錄中的所有文件。每個文本文件都是新聞文章。代碼看起來像這樣。閱讀多個文本文件做自動文本分析

lff <- list.files(path = "the path", pattern = paste('*.txt*',sep=""), full.names = TRUE, recursive = TRUE, include.dirs = TRUE) 
df<-ldply(lff, readLines) 

我用readlines方法閱讀我的文章,但是這個命令給了我一個錯誤,如以下。

Error in list_to_dataframe(res, attr(.data, "split_labels")) : 
Results do not have equal lengths 

read.table不適合我的分析。無論如何我都會找到爲每一行導入這些文本。

**我試過

df<-ldply(lff, readLines(warn=FALSE)) 

但它採取了永遠導入這些文件。我只有300多個文件,所以它不應該花這麼長時間。問題是什麼?

**

每個文件都是這樣的。

上週在Palm Beach縣委員會爲春季訓練場提供資金之前進行的辯論看起來有點像在Brevard縣一直在進行的維州華盛頓國民隊春季訓練有多麼多的辯論。只有數字更大。

因爲我有我的300多個文件的列表,所以我在lff對象中有300多行。我想要導入每一行中的每個文本。我還將爲每行添加一些附加數據,如每篇文章的日期和作者。

在此先感謝!

+0

你可以在這裏粘貼一個小文本文件嗎?我無法達到您的想法,您希望支持您的後續分析的結構是什麼? ('ldply'會給你一個'data.frame',你能解釋哪個'fields'會構造'data.frame'嗎?) – hs3180 2014-09-28 07:04:07

+0

@ hs3180謝謝,我編輯了我的問題 – user3077008 2014-09-28 07:11:01

回答

0

我不知道是什麼文章是(它是一個文件?),但我想你會需要這個。

df <- ldply(lff, function(file) { 
    content <- readLines(file) 
    date <- smth_date 
    author <- smth_author 
    data.frame(content = content, date = date, author = author, stringsAsFactors = FALSE) 
}) 

PS:不要忘記,stringsAsFactors = FALSE,自動轉換的因素總是給我意想不到的錯誤。