# R Error Continuous value supplied to discrete scale

R Error Continuous value supplied to discrete scale, when we plot data on a graph, we need to specify the type of scale that will be used for each variable.

A common error that we can encounter is when we try to use a continuous value for a variable that requires a discrete scale, or vice versa.

This error occurs because the data type of the variable does not match the type of scale we are trying to use.

## R Error Continuous value supplied to discrete scale

In this tutorial, we will discuss the difference between continuous and discrete scales, and provide examples of how to use each type in R.

### What is a Scale in R?

Scale, in R, refers to the range of values on the x and y-axis of a graph or plot. It helps in making sense of the data on a plot.

Two types of scales are usually used in data visualization R – Continuous and Discrete scales.

How to convert characters from upper to lower case in R (datasciencetut.com)

### What is a Continuous Scale?

A continuous scale is a type of scale that represents a range of values with continuous data, such as height, weight, or temperature, where every value in the range is a potential value.

For instance, if we plotted a scatter plot of height (y-axis) against age (x-axis), the height would require a continuous scale since height can take on any value within the range of corresponding ages.

In R, the ggplot2 package is commonly used to create graphs.

To show an example of a continuous scale in action in ggplot2, we can use the mtcars dataset and plot the miles per gallon (mpg) against the weight of the car (wt). Here is the code to create that plot:

```library(ggplot2)
p <- ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point()
p```

In this code, we first load the ggplot2 package, then set up the plot with the `ggplot()` function and specify the data with `mtcars`.

We assign the `x` and `y` variables to ‘wt’ and ‘mpg’ respectively. With the `geom_point()` function, we add points to the plot. The resulting plot has a continuous scale on both the x and y-axis.

### What is a Discrete Scale?

A discrete scale is used when the data is categorical. It is a scale that represents distinct categories, such as gender, color, or type of car.

When we use a discrete scale, we assign a category to each point on the plot, and the values of each category are not continuous.

In R, we can use the `factor` function to convert numerical data to categorical data to use in a discrete scale. We can also use the `as.factor()` function to convert character strings to factors.

To illustrate a discrete scale in ggplot2, we can use the diamonds dataset and create a bar plot of the number of diamonds in each level of cut. Here is the code to create it:

```library(ggplot2)
p2 <- ggplot(diamonds, aes(x = cut)) + geom_bar()
p2```

In this code, we first load the ggplot2 package, then set up the plot with the `ggplot()` function and specify the data as `diamonds`.

We assign `x` to the variable `cut` and specify a bar plot with `geom_bar()`. The resulting plot shows the count of diamonds in each level of cut and has a discrete scale on the x-axis.

## How to Fix Continuous Value Supplied to Discrete Scale Error in R?

If we encounter the “Continuous value supplied to discrete scale” error in R, it means that we might have tried to use a continuous variable where only discrete values are expected.

To fix this error, we need to make sure that the variable type matches the scale type we are trying to use.

For instance, if we were to plot a bar graph of car weights (wt) against the number of cylinders (cyl), we might run into an error as shown below:

```library(ggplot2)
p3 <- ggplot(mtcars, aes(x = cyl, y = wt)) + geom_bar(stat = "identity")
p3```

In this case, R will return: “Error: Continuous value supplied to discrete scale”.

To fix this error, we can use the `factor` function to create a categorical variable for the number of cylinders.

```library(ggplot2)
mtcars\$cyl <- as.factor(mtcars\$cyl)
p3 <- ggplot(mtcars, aes(x = cyl, y = wt)) + geom_bar(stat = "identity")
p3```

We first convert the `cyl` variable to a factor variable using `as.factor()` function. We assign the new data to a new mtcars dataframe to preserve the original variable.

Then we re-run the `ggplot()` function, assign the new categorical variable to x and the original continuous variable `wt` to y. We add the `geom_bar(stat = “identity”)` command to create the bar graph.

This will fix the “Continuous value supplied to discrete scale” error and we will be able to successfully plot a bar graph of car weights against the number of cylinders.

R Programming For Data Science »

To summarize, when working with plots and graphs in R, it is important to use the correct scale type.

If we encounter an error such as “Continuous value supplied to discrete scale”, we need to make sure that the variable type matches the scale type that we are trying to use.

Understanding the difference between continuous and discrete scales will allow us to create accurate and meaningful visualizations in R.