在 TDM 中访问术语

Accessing terms in TDM

我需要访问我创建的 unigram 中的每个单独的术语。但是它是第 0 列,我不知道如何访问。我认为这是一个有点愚蠢的问题

tdm <- TermDocumentMatrix(docs)
a <- as.matrix(tdm)
unigram <- as.data.frame(a)
colnames(unigram) <- c("freq")

如何访问此数据框中 "sam" 为 2 的事实,因为这是第 0 行。我想做两件事。 a) 命名第 0 列。 b) 在第 0 列搜索单词,例如 "not"。并得到 "freq" 的值。如果这是第 2 或第 3 列,那就很容易了

 > unigram
         freq
  and      1
  eggs     1
  green    1
  ham      1
  like     1
  not      1
  sam      2

求助。

问候 象头神 不是 1 山姆 2

您要查找的第 0 列似乎是数据框的行名称。查找给定值的频率:

unigram$freq[rownames(unigram) == "not"]

你也可以把它变成一个变量,这样更容易使用

unigram$term <- rownames(unigram)
unigram$freq[unigram$term == "not"]

您可以将检查功能用作 TM 包的一部分。您可以创建一个您感兴趣的单词向量,然后应用检查以仅查看这些单词及其频率,如下所示:

my.filter.words <- c('sam','not')
inspect(tdm[my.filter.words,])