我需要为自己,我的推特粉丝及其粉丝创建一个documenttermmatrix。
我们需要在不使用tm包的情况下创建它。
目前,我们有以下变量:
列表l :包含所有关注者'追随者,每个粉丝(包括我自己和我自己的粉丝)存储
lunique1 :列表l的不公开和排序版本,它包含所有关注者'追随者
矩阵:我们使用以下维度创建的矩阵:
matrix <- matrix(, nrow=length(followers)+1, ncol = length(lunique1))
关注者:包含所有关注者的列表。 (nrow中的加号=长度(追随者)+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中没有(但是)经验不足,但这段代码需要在今晚之前完成。 我希望你们可以帮助我,因为我真的没有想法:(
提前致谢
答案 0 :(得分:0)
使用R-package tm,您可以选择创建DocumentTermMatrix
这种方法应该比你的循环结构更方便。
答案 1 :(得分:0)
有一种方法可以创建没有tm包的文档术语矩阵,下面这个链接有一个过程。您可以使用类似的方法 This is the link
答案 2 :(得分:0)
我们用以下代码解决了这个问题
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