查找术语文档矩阵中所有术语之间的关联 - 大小

时间:2017-03-11 08:03:46

标签: r qdap

我需要找到术语文档矩阵中每个术语之间的相关性。矩阵中的术语数量为181841,文档数量为191431。 我需要得到每个术语与另一个术语的相关系数。

我使用了for循环和下面的代码来获取每个术语。然后使用rbind我将它设为一个数据帧。

编辑1:下面是一个可重复的小例子。

  clean_CTP

  TP_ID  Keywords
   1     A,B,C,D
   2     A,L,K,M
   3     P,B,L,M

 library(qdap)

  text_corpus <- Corpus(VectorSource(clean_CTP[,2]))

  doc_term_mat <- TermDocumentMatrix(text_corpus)

  selected_words <- findFreqTerms(doc_term_mat, lowfreq = 1)

  filt_doc_term_mat= doc_term_mat[selected_words,]

 df_pear = data.frame(main_term= character(),
                  rel_term = character(),
                  corr = numeric())

for(i in 1:length(selected_words)){

    term_con = selected_words[i]

    ass = findAssocs( filt_doc_term_mat, term_con,pearson_thres)

    ass_df = as.data.frame(ass)

    main_term = rep(selected_words[i],nrow(ass_df))

    rel_term = as.vector(rownames(ass_df))

    corr = as.vector(ass_df[,1])

    df_new = data.frame(main_term,rel_term,corr)

    df_pear = rbind(df_pear,df_new)

  }

然而,这需要花费大量时间来执行。即每学期约5分钟。有没有更好的方法来完成这项工作。

0 个答案:

没有答案