2012-08-30 69 views
-5

我有一個30k記錄(公司名稱和其他屬性)的data.frame。 dba_nm是60個字符的最長元素<的公司名稱字段。R包中R掛着小數據集

R對話的內存使用從100MB上升到3GB和掛起當我嘗試在?tm::VectorSource代碼:

ds <- VectorSource(dat$dba_nm) 
inspect(Corpus(ds)) 
+5

您可以發佈您的數據樣本,所以我們可以嘗試複製你的問題? – Ben

+2

你爲什麼試圖將所有30k記錄打印到屏幕上?做一些明智的事情,比如「檢查(頭(語料庫(ds)))'而不是。 – Andrie

+2

我發現'tm'包不喜歡因素,所以我的猜測是你的'dat'對象包含因素而不是字符向量。 –

回答

0

好吧,我得到一個數據幀(DAT)關閉數據庫,並試圖讀取一個列(dba_nm)轉換成矢量源。事實證明,你必須將它轉換成一個字符向量。 下面的代碼工作:

> cs <- as.character(dat$dba_nm) 
> ds <- VectorSource(cs) 
> Corpus(ds) 
A corpus with 30453 text documents