2013-11-04 31 views
2

我正嘗試做使用TM包中的一些文本挖掘。所以我從一個字符串向量創建一個corpus。然後我用tolower,刪除所有大寫字母,這會導致錯誤。如何使用tm_map大型語料庫沒有一個內存錯誤?

corpus <- Corpus(VectorSource(string_vector)) 
corpus <- tm_map(corpus, tolower) # Makes all words lower case 

Error in mcfork() : 
    unable to fork, possible reason: Cannot allocate memory 

我用來創建語料庫的字符串向量有5621行,最長的字符串有4590個字符。
我已經發揮各地並已刪除內存中的每個對象是不使用rm(list=ls())該命令是至關重要的。但它沒有區別。

I'm與32GB的RAM運行它的服務器上:

R version 3.0.2 (2013-09-25) 
Platform: x86_64-pc-linux-gnu (64-bit) 

我怎樣才能解決這個問題,或者是我的服務器只是不夠強?

+0

嘗試縮小您的載體直到你可以得到它的工作。那麼你可能會發現你的內存限制,如果這是問題。如果你不能讓它與你的大載體的一小部分工作,更新您的問題,所以你的錯誤可以被他人複製:包括數據樣本和正確的代碼(有一個不匹配在當前的代碼: corpus!= corpus_comments)。 – Ben

回答

1

我解決了類似的問題,通過設置附加參數:在tm_map

'懶惰= T'

所以,您的來電tm_map會讀:

tm_map(corpus, tolower, lazy=T) 
相關問題