R Error in ggplot2 – must be data frame not integer (2 Examples)

This article explains how to handle the error “`data` must be a data frame, or other object coercible by `fortify()`, not an integer vector” in R programming.

Preparing the Examples

data(iris)                       # Loading iris data
head(iris)
#   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1          5.1         3.5          1.4         0.2  setosa
# 2          4.9         3.0          1.4         0.2  setosa
# 3          4.7         3.2          1.3         0.2  setosa
# 4          4.6         3.1          1.5         0.2  setosa
# 5          5.0         3.6          1.4         0.2  setosa
# 6          5.4         3.9          1.7         0.4  setosa
install.packages("ggplot2")      # Install ggplot2 package
library("ggplot2")               # Load ggplot2 package

Example 1: Replicating the Error – `data` must be a data frame, or other object coercible

ggplot(iris$Sepal.Length,        # Trying to use column as data
       aes(Sepal.Length, Sepal.Width)) +
  geom_point()
# Error: `data` must be a data frame, or other object coercible by `fortify()`, not an integer vector
# Run `rlang::last_error()` to see where the error occurred.

Example 2: Solving the Error Message – `data` must be a data frame, or other object coercible

ggplot(iris,                     # Proper specification of data argument
       aes(Sepal.Length, Sepal.Width)) +
  geom_point()

r graph figure 1 r error ggplot2 must be data frame not integer

Related Tutorials

Furthermore, you could read the other articles on Data Hacks.

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

Menu
Top