Одна ошибка, с которой вы можете столкнуться в R:
Error: `data` must be a data frame, or other object coercible by `fortify()`,
not a numeric vector
Эта ошибка возникает, когда вы пытаетесь использовать ggplot2 для построения переменных во фрейме данных, но вы ссылаетесь на вектор вместо фрейма данных для аргумента данных .
В этом руководстве рассказывается, как именно исправить эту ошибку.
Как воспроизвести ошибку
Предположим, у нас есть следующий фрейм данных в R:
#create data frame
df <- data.frame(x=c(1, 2, 3, 4, 5, 6, 7, 8),
y=c(4, 8, 14, 19, 14, 13, 9, 9))
#view data frame
df
x y
1 1 4
2 2 8
3 3 14
4 4 19
5 5 14
6 6 13
7 7 9
8 8 9
Теперь предположим, что мы пытаемся создать точечную диаграмму для визуализации переменных x и y во фрейме данных:
library (ggplot2)
#attempt to create scatter plot
ggplot(df$x, aes(x=x, y=y)) +
geom_point()
Error: `data` must be a data frame, or other object coercible by `fortify()`,
not a numeric vector
Мы получаем ошибку, потому что мы ссылались на числовой вектор ( df$x ) в аргументе данных функции ggplot() вместо фрейма данных.
Как исправить ошибку
Способ исправить эту ошибку — сослаться на фрейм данных для аргумента данных в функции ggplot() .
В нашем примере мы должны использовать df вместо df$x для аргумента данных :
library (ggplot2)
#create scatter plot
ggplot(df, aes(x=x, y=y)) +
geom_point()
![](https://www.codecamp.ru/content/images/2022/06/ggerror2.jpg)
Обратите внимание, что на этот раз мы смогли успешно создать точечную диаграмму без каких-либо ошибок.
Дополнительные ресурсы
В следующих руководствах объясняется, как устранять другие распространенные ошибки в R:
Как исправить: ggplot2 не знает, что делать с данными класса uneval
Как исправить: ошибка в stripchart.default(x1, …): неверный метод построения графика
Как исправить: ошибка в eval(predvars, data, env): объект 'x' не найден