Одна ошибка, с которой вы можете столкнуться в 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 или более уровнями