繁体   English   中英

在R中创建文档术语矩阵

[英]Creating a document term matrix in R

我需要为自己,我的Twitter关注者及其关注者创建一个documenttermmatrix。

我们需要不使用tm包来创建它。

目前,我们有以下变量:

列表l :包含所有关注者的关注者,按关注者存储(包括本人和我自己的关注者)

lunique1 :列表l的未列出和排序的版本,它包含所有关注者的关注者

matrix :我们使用以下维度创建的矩阵:

matrix <- matrix(, nrow=length(followers)+1, ncol = length(lunique1))

关注者 :包含我所有关注者的列表。 (需要nrow = length(followers + 1)中的加号1才能将自己包括在维度中

这是我创建documentTermMatrix的代码(一个只包含零和一的值的矩阵,以显示谁链接到谁)

    for(x in 1 : length(followers)+1)
{
  for(y in 1:length(l[x]))
  {
    for(z in lunique1)
    {

      if(lunique1[z] == l[[x]][y]) 
      {
        matrix[y][z] = 1
      }
      else
        matrix[y][z] = 0

    }}}

我还没有R的经验,但是此代码需要在今晚之前工作。 我希望你们能帮助我,因为我真的没有主意:(

提前致谢

使用R-package tm ,您可以选择创建DocumentTermMatrix

这种方法应该比循环构建更方便。

有一种无需tm包即可创建文档术语矩阵的方法,下面的链接提供了一个过程。 您可以使用类似的方法, 这是链接

我们用以下代码自己解决了这个问题

 lunique <- unique(unlist(l))
lunique1 <- sort(lunique)
matrix <- matrix(, nrow=length(followers)+1, ncol = length(lunique))
n = 1
m = 1
for(n in 1:length(l))
{
for(m in 1:length(l[[n]]))
{
h <- grep(l[[n]][m], lunique1)
if (length(h>0))
{
matrix[n,h]=1
} else {
matrix[n,h]=0
}
h <- c()
} 
}
matrix <- replace(matrix, is.na(matrix), 0)
adjacency <- t(matrix)%*%matrix

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM