@rqthomas here's a pass at the mean_scores computation relative to a specified null forecast. example:
library(tidyverse)
library(neon4cast)
df <- read_csv("https://data.ecoforecast.org/analysis/combined_forecasts_scores.csv.gz")
## expanded data frame, filled first with self_score, then with with null_score, using separate columns
null_filled <-fill_scores(df)
## compute mean scores (convenience functino)
scores <- mean_scores(null_filled)
scores
@rqthomas here's a pass at the mean_scores computation relative to a specified null forecast. example: