Is it possible to get an overall measure of variance explained by different levels of a categorical predictor, without using a reference level? Let's take a model like this:
mod <- lm(Petal.Width ~ Species, data = iris)

Is there any way to know how much variance is explained by each level of Species overall? By overall I mean NOT just relative to a reference level.
I know that emmeans can compare coefficients of each level of a categorical predictor to the overall mean. Is something like this possible for amount of variance explained?

Here's one idea, which may very well match Ben's answer.
First, obtain the "eff" contrasts, which comprise comparisons between each mean and the average of all the means:
> mod <- lm(Petal.Width ~ Species, data = iris)
> library(emmeans)
> EMM <- emmeans(mod, "Species")
> (CON = contrast(EMM, "eff"))
 contrast          estimate     SE  df t.ratio p.value
 setosa effect       -0.953 0.0236 147 -40.343  <.0001
 versicolor effect    0.127 0.0236 147   5.360  <.0001
 virginica effect     0.827 0.0236 147  34.982  <.0001

P value adjustment: fdr method for 3 tests

Now, there is a relation between $R^2$ and $F$:
$$ R^2 = 1 - (1 + df_R\cdot F / df_E)^{-1} $$
where $df_R$ is the d.f. for regression and $df_E$ is the d.f. for error. In this case, we want to develop an $R^2$-like statistic for each level of Species. And note that each $t^2$ is an $F$ statistic with one numerator d.f. accordingly, calculate:
> F <- test(CON)$t.ratio^2
> 1 - 1 / (1 + F/147)
[1] 0.9171609 0.1634979 0.8927607

I'll claim these are like $R^2$ statistics. They sum to more than 1 because they are interdependent.
