R语言inner_join报错:合并Excel表并绘制ggplot图表遇问题
问题分析与代码修正
你的代码里有几个明显问题导致报错,逐一修正如下:
- 拼写错误:代码里的
donanations应该是donations,拼写错误会导致R找不到对应的数据集,直接报错。 - 管道符误用:
group_by(quantity)之后用了+,但dplyr的操作链需要用%>%来衔接后续处理,+是ggplot图层的连接符,不能混在dplyr管道里。 - ggplot缺少核心参数:空的
ggplot()无法生成任何图表,必须指定数据映射(aes())和几何图层(比如geom_bar()、geom_line())。 - 分组后未做汇总(可选但重要):如果是想按
quantity分组统计后绘图,直接group_by后就丢给ggplot,大概率不符合预期,需要先通过summarize()生成统计数据。
修正后的示例代码
假设你想统计不同quantity对应的交易总数,代码可以改成这样:
transactions %>% inner_join(donations, by = "Date") %>% # 修正拼写错误 group_by(quantity) %>% summarize(total_count = n()) %>% # 统计每个quantity的记录数 ggplot(aes(x = quantity, y = total_count)) + # 指定x/y轴映射 geom_bar(stat = "identity") # 添加柱状图图层
如果是想直接展示Date和quantity的关系,也可以去掉分组,直接绘图:
transactions %>% inner_join(donations, by = "Date") %>% ggplot(aes(x = Date, y = quantity)) + geom_line() # 生成折线图
内容的提问来源于stack exchange,提问作者Hannah Olson
相关产品推荐
相关产品推荐

