1

我需要找到术语文档矩阵中每个术语之间的相关性。矩阵中的项数为 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 分钟。有没有更好的方法来完成这项工作。

4

0 回答 0