我需要访问我创建的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
答案 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,])