Skip to contents

It estimates the RRMSE for a continuous predicted-observed dataset.

Usage

RRMSE(data = NULL, obs, pred, tidy = FALSE, na.rm = TRUE)

Arguments

data

(Optional) argument to call an existing data frame containing the data.

obs

Vector with observed values (numeric).

pred

Vector with predicted values (numeric).

tidy

Logical operator (TRUE/FALSE) to decide the type of return. TRUE returns a data.frame, FALSE returns a list; Default : FALSE.

na.rm

Logic argument to remove rows with missing values (NA). Default is na.rm = TRUE.

Value

an object of class numeric within a list (if tidy = FALSE) or within a data frame (if tidy = TRUE).

Details

The RRMSE normalizes the Root Mean Squared Error (RMSE) by the mean of observations. It goes from 0 to infinity. The lower the better the prediction performance. In literature, it can be also found as NRMSE (normalized root mean squared error). However, here we use RRMSE since several other alternatives to "normalize" the RMSE exist (e.g., RSR, iqRMSE). For the formula and more details, see online-documentation

Examples

# \donttest{
set.seed(1)
X <- rnorm(n = 100, mean = 0, sd = 10)
Y <- X + rnorm(n=100, mean = 0, sd = 3)
RRMSE(obs = X, pred = Y)
#> $RRMSE
#> [1] 2.627928
#> 
# }