如何在 r 中修复:无法将 ggproto 对象添加在一起
在 R 中您可能遇到的错误是:
Error: Cannot add ggproto objects together. Did you forget to add this object to a ggplot object?
当您尝试使用ggplot2包创建可视化但忘记在语法中的某处添加加号 ( + ) 时,通常会发生此错误。
本教程准确解释了如何修复此错误。
如何重现错误
假设 R 中有以下数据框,显示商店在 10 个不同日期收到的销售额和客户总数:
#create data frame
df <- data. frame (day = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
sales = c(8, 8, 7, 6, 7, 8, 9, 12, 14, 18),
customers = c(4, 6, 6, 4, 6, 7, 8, 9, 12, 13))
#view data frame
df
day sales customers
1 1 8 4
2 2 8 6
3 3 7 6
4 4 6 4
5 5 7 6
6 6 8 7
7 7 9 8
8 8 12 9
9 9 14 12
10 10 18 13
现在假设我们尝试创建一个折线图来可视化 10 天内的销售额和客户:
library (ggplot2)
#attempt to create plot with two lines
ggplot(df, aes(x = day))
geom_line(aes(y = sales, color = ' sales ')) +
geom_line(aes(y = customers, color = ' customers '))
Error: Cannot add ggproto objects together.
Did you forget to add this object to a ggplot object?
我们收到一条错误消息,告诉我们无法将 ggproto 对象添加在一起。
如何修复错误
修复此错误的方法是简单地在第一行末尾添加一个加号( + ),这是我们第一次忘记做的事情:
library (ggplot2)
#create plot with two lines
ggplot(df, aes(x = day)) +
geom_line(aes(y = sales, color = ' sales ')) +
geom_line(aes(y = customers, color = ' customers '))
结果是一个两线图,显示 10 天期间的客户总数和销售额。
请注意,这次我们没有收到错误,因为我们在第一行末尾使用了加号 ( + )。
其他资源
以下教程解释了如何解决 R 中的其他常见错误:
如何在 R 中修复:dim(X) 必须具有正长度
如何在 R 中修复:名称与以前的名称不匹配
如何在 R 中修复:较长物体的长度不是较短物体长度的倍数
如何在 R 中修复:对比只能应用于具有 2 个或更多级别的因子