访问TDM中的条款

时间:2015-07-17 14:49:29

标签: r dataframe tm

我需要访问我创建的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

帮助。

此致 Ganesh神 不是1 山姆2

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

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

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