我是 R 新手,我正在使用 widyr 进行文本挖掘。我成功地使用了这里找到的方法来获取每个文本部分中同时出现的单词及其 phi 系数的列表。
代码如下:
word_cors <- review_words %>%
group_by(word) %>%
pairwise_cor(word, title, sort = TRUE) %>%
filter(correlation > .15)
我知道我还可以使用以下代码生成包含同时出现的单词及其出现次数的数据框:
word_pairs <- review_words %>%
pairwise_count(word, title, sort = TRUE)
我需要的是一个表,其中包含 phi 系数和每对单词的出现次数。我一直在研究 pairwise_cor 和 pairwise_count 但仍然不知道如何组合它们。如果我理解正确,连接只考虑一列进行匹配,所以我不能可靠地使用常规连接,因为在 item1 列中可能有多个具有相同单词的对。
这可能使用widyr吗?如果没有,是否有另一个包可以让我这样做?
这是完整的代码:
#Load packages
pacman::p_load(XML, dplyr, stringr, rvest, httr, xml2, tidytext, tidyverse, widyr)
#Load source material
prod_reviews_df <- read_csv("SOURCE SPREADSHEET.csv")
#Split into one word per row
review_words <- prod_reviews_df %>%
unnest_tokens(word, comments, token = "words", format = "text", drop = FALSE) %>%
anti_join(stop_words, by = c("word" = "word"))
#Find phi coefficient
word_cors <- review_words %>%
group_by(word) %>%
pairwise_cor(word, title, sort = TRUE) %>%
filter(correlation > .15)
#Write data to CSV
write.csv(word_cors, "WORD CORRELATIONS.csv")
我想添加pairwise_count,但我需要它与phi系数一起使用。
谢谢!