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