R Markdown调用qdap的freq_terms报错找不到split_chain函数如何解决
报错解读
该报错由qdap包与高版本magrittr包的兼容性问题导致:split_chain是1.5及更早版本magrittr的内部函数,用于解析管道符%>%的调用链,qdap的底层逻辑中硬编码调用了这个函数,而新版magrittr重构了内部实现,已经移除了该函数,因此调用qdap的相关函数时会触发找不到函数的报错,和RStudio版本无关。
修复方案
- 方案1:降级
magrittr到兼容版本
运行以下代码安装1.5版本的magrittr,安装完成后重启R会话再执行原有代码即可正常运行:remotes::install_version("magrittr", version = "1.5") - 方案2:替换高频词统计实现,弃用
qdapqdap已经多年未迭代维护,依赖过时,你可以改用生态更活跃的文本分析包实现相同功能,例如使用tidytext实现Top4高频词统计的代码如下:library(dplyr) library(tidytext) frequent_terms <- example %>% unnest_tokens(word, text) %>% count(word, sort = TRUE) %>% slice(1:4) - 方案3:临时补全依赖加载
不想降级包的前提下,可以在调用freq_terms前先显式加载qdap的配套工具包命名空间,部分场景可解决该问题:library(qdap) loadNamespace("qdapTools") frequent_terms <- freq_terms(example$text, 4)
内容的提问来源于stack exchange,提问作者Essan Rago
相关产品推荐
相关产品推荐

