我一直在閱讀不同的問題/答案(特別是here和here),但沒有管理任何適用於我的情況。如何使用tm_map將元數據添加到tm語料庫對象
我有一個屬性ID,作者,文本,如11,390行矩陣:
library(tm)
m <- cbind(c("01","02","03","04","05","06"),
c("Author1","Author2","Author2","Author3","Author3","Auhtor4"),
c("Text1","Text2","Text3","Text4","Text5","Text6"))
我想創建一個tm
語料庫出來。我可以快速創建我的
tm_corpus <- Corpus(VectorSource(m[,3]))
語料庫終止執行我的11,390行矩陣
user system elapsed
2.383 0.175 2.557
但是當我試圖將元數據添加到語料庫與
meta(tm_corpus, type="local", tag="Author") <- m[,2]
的執行時間超過15分鐘並計數(然後我停止執行)。
根據討論here很可能會大大減少處理語料庫的時間tm_map
;像
tm_corpus <- tm_map(tm_corpus, addMeta, m[,2])
但我不知道如何做到這一點。也許這將是像
addMeta <- function(text, vector) {
meta(text, tag="Author") = vector[??]
text
}
一方面如何傳遞到tm_map
值的矢量被分配到語料庫的每個文本?我應該從循環內調用函數嗎?我是否應該在vapply
中附上tm_map
函數?
對我來說,meta調用起作用。 (tm_corpus,type =「corpus」,tag =「Author」)< - m [,2] – user944351