1

基本上我有我的词袋:

source <- VectorSource(text)
corpus <- Corpus(source)
corpus <- tm_map(corpus, content_transformer(tolower))
dtm <- DocumentTermMatrix(cleanset)

等等等等

我有一个数据框,由我从 SQLite DB 调用的两列组成或仅包含两列。第 1 列是数百个单词的列表,第 2 列是每个单词对应的词性代码。

我正在尝试将我的 dtm 中的每个令牌与数据帧第 1 列中的相同术语匹配,以便每个令牌都可以匹配其相应的 POS 代码。本质上,数据框就像一个字典,我想将我的 dtm 中的每个标记与其定义相匹配。

我尝试了一堆 GREP 函数来做到这一点,但无济于事。有人对解决此问题的最佳方法有想法吗?

谢谢!

4

1 回答 1

3

尝试 qdap 包中的查找功能。

library(qdap)

#create lookup table
words <- c("dog","cat","a", "the","run")
pos <- c("noun","noun","article","article","verb")
random <- c(3,1,2,5,4,1)
df <- data.frame(words, random, pos)

#create doc-term matrix
terms<- c("human", "help","dog","cat","frog", "hello","a","party","run","cheers")
freq <- c(1,2,0,2,3,0,1,4,1,0)
dtm <- data.frame(terms, freq)

#append matches
lookup(dtm$terms, data.frame(df$words,df$pos), missing=NA)
于 2016-06-07T03:55:36.367 回答