R代码在脚本中运行正常但在R Markdown中报错该如何解决?
问题成因与修复方案
成因
- 核心问题是
ggplot链式调用的+符号放置位置不符合R Markdown代码块的解析规则:你将geom_text()后的+单独放在了新行,没有放在上一行代码的末尾。 - 普通R脚本运行时会等待完整表达式输入后再执行,而R Markdown的代码块会逐行解析,单独一行的
+属于缺少操作数的一元运算符,会直接触发语法错误。
修复方案
将所有ggplot链式调用的+符号放在上一行代码的末尾,不要单独占行,修复后的代码如下:
library(tidyverse) library(scales) age <- kaggle_2020_Survey %>% transmute(Q1 = as.factor(Q1)) %>% filter(!is.na(Q1)) %>% count(Q1) %>% mutate(perc = n/sum(n)*100) ggplot(age, aes(x = Q1, y = n)) + geom_col(fill = "darkblue", alpha =.7) + geom_text(aes(x = Q1, y = n, label = paste0(round(perc,1), "%"), hjust = -.3), size = 3) + coord_flip() + labs(title = "Age of participants", x = "Percent", y = "Number", subtitle = "Highest age group: 22-24") + theme_classic()
内容的提问来源于stack exchange,提问作者Rizzle
相关产品推荐
相关产品推荐

