As an example of a step function, we will use the floor function *floor(x)* that takes a real number *x* and returns the greatest integer less than or equal to *x*.

Coding the floor function in R:

# creating the floor function f(x) f = function(x) { floor(x) } # specifying the domain of f(x) x = seq(-5, 5, length.out = 100) # x contains 100 points between -5 and 5

## Plotting in base R

# plotting f(x) plot(x, f(x), type = 's') # 's' for stairs plot

**Output:**

We can add the data points to the plot with the following code:

# adding points to the plot points(x, f(x), pch = 18) # pch specifies the shape of the points

**Output:**

Another option would be to plot the points only:

plot(x, f(x), type = 'p', pch = 15) # 'p' for points plot

**Output:**

## Plotting using ggplot2

library(ggplot2) # creating a data frame that contains x and f(x) dat = data.frame(x = x, y = f(x)) p = ggplot(dat, aes(x = x, y = y)) + geom_step() # geom_step creates a stairs plot p

**Output:**

We can add the data points using the following code:

# adding points to the plot p + geom_point()

**Output:**