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