RMarkdown编织报错:找不到%>%函数,代码单独运行正常求解
问题原因与解决办法
- 报错核心是RMarkdown编织时的运行环境没加载包含
%>%和filter()的包。单独运行代码时,你当前R会话里已经加载过dplyr或tidyverse包,但RMarkdown编织会启动全新会话,不会继承之前加载的包,所以找不到这些函数。 - 两种解决方式:
- 在代码块开头显式加载所需包:
# 加载dplyr包(包含%>%和filter) library(dplyr) # 也可以加载整个tidyverse集合包 # library(tidyverse) got %>% filter(attacker_commander == "Gregor Clegane") - 用包名前缀直接调用函数,无需全局加载包:
got %>% dplyr::filter(attacker_commander == "Gregor Clegane")
- 在代码块开头显式加载所需包:
- 额外提醒:如果
got数据框来自特定R包(比如gameofthrones),也要在代码块里加载对应包,避免出现找不到数据框的问题。
内容的提问来源于stack exchange,提问作者Cristina Loscos Roig
相关产品推荐
相关产品推荐

