EDIT: added a new example for ggplot2 at the end
Have a look ? Plotmath for various mathematical operations in R
You should be able to use an expression without insertion. If you use the tilde character (~) in an expression function, it will assume that there is a space between the characters, or you can use the * character and it will not put a space between the arguments
Sometimes you will need to change the margins when you place superscripts on the y axis.
par(mar=c(5, 4.3, 4, 2) + 0.1) plot(1:10, xlab = expression(xLab ~ x^2 ~ m^-2), ylab = expression(yLab ~ y^2 ~ m^-2), main="Plot 1")

plot(1:10, xlab = expression(xLab * x^2 * m^-2), ylab = expression(yLab * y^2 * m^-2), main="Plot 2")

plot(1:10, xlab = expression(xLab ~ x^2 * m^-2), ylab = expression(yLab ~ y^2 * m^-2), main="Plot 3")

We hope that you can see the differences between charts 1, 2 and 3 with different uses of the symbols ~ and *. Additional note, you can use other symbols, such as drawing a degree symbol for temperature for or mu, fi. If you want to add an index, use square brackets.
plot(1:10, xlab = expression('Your x label' ~ mu[3] * phi), ylab = expression("Temperature (" * degree * C *")"))

Here is a ggplot example using an expression with a meaningless example
require(ggplot2)
Or, if you have the pacman library installed, you can use p_load to automatically download, download, and attach additional packages.
# require(pacman) # p_load(ggplot2) data = data.frame(x = 1:10, y = 1:10) ggplot(data, aes(x,y)) + geom_point() + xlab(expression(bar(yourUnits) ~ g ~ m^-2 ~ OR ~ integral(f(x)*dx, a,b))) + ylab(expression("Biomass (g per" ~ m^3 *")")) + theme_bw()
