Skip to contents

These functions take a data frame with a integer counts response "y", and a continuous predictor "x", fit a univariate model, and return the R-squared of observations versus predictions:

  • f_r2_glm_poisson() Pearson's R-squared between a count response and the predictions of a GLM model with formula y ~ x and family stats::poisson(link = "log").

  • f_r2_glm_poisson_poly2() Pearson's R-squared between a count response and the predictions of a GLM model with formula y ~ stats::poly(x, degree = 2, raw = TRUE) and family stats::poisson(link = "log").

  • f_r2_gam_poisson() Pearson's R-squared between a count response and the predictions of a mgcv::gam() model with formula y ~ s(x) and family stats::poisson(link = "log").

  • f_r2_rpart(): Pearson's R-squared of a Recursive Partition Tree fitted with rpart::rpart() with formula y ~ x.

  • f_r2_rf(): Pearson's R-squared of a 100 trees Random Forest model fitted with ranger::ranger() and formula y ~ x.

Usage

f_r2_glm_poisson(df)

f_r2_glm_poisson_poly2(df)

f_r2_gam_poisson(df)

Arguments

df

(required, data frame) with columns:

  • "x": (numeric) continuous predictor.

  • "y" (integer) counts response.

See also

Other preference_order_functions: f_auc, f_r2, f_v(), f_v_rf_categorical()

Other preference_order_functions: f_auc, f_r2, f_v(), f_v_rf_categorical()

Other preference_order_functions: f_auc, f_r2, f_v(), f_v_rf_categorical()

Other preference_order_functions: f_auc, f_r2, f_v(), f_v_rf_categorical()

Examples


#load example data
data(vi)

#reduce size to speed-up example
vi <- vi[1:1000, ]

#integer counts response and continuous predictor
#to data frame without NAs
df <- data.frame(
  y = vi[["vi_counts"]],
  x = vi[["swi_max"]]
) |>
  na.omit()

#GLM model with Poisson family
f_r2_glm_poisson(df = df)
#> [1] 0.5263779

#GLM model with second degree polynomials and Poisson family
f_r2_glm_poisson_poly2(df = df)
#> [1] 0.6427394

#GAM model with Poisson family
f_r2_gam_poisson(df = df)
#> [1] 0.6712053