如何在 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 个或更多级别的因子

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注