| ccc | R Documentation |
Calculate the concordance correlation coefficient.
ccc(data, ...)
## S3 method for class 'data.frame'
ccc(
data,
truth,
estimate,
bias = FALSE,
na_rm = TRUE,
case_weights = NULL,
...
)
ccc_vec(truth, estimate, bias = FALSE, na_rm = TRUE, case_weights = NULL, ...)
data |
A |
... |
Not currently used. |
truth |
The column identifier for the true results
(that is |
estimate |
The column identifier for the predicted
results (that is also |
bias |
A |
na_rm |
A |
case_weights |
The optional column identifier for case weights. This
should be an unquoted column name that evaluates to a numeric column in
|
ccc() is a metric of both consistency/correlation and accuracy,
while metrics such as rmse() are strictly for accuracy and metrics
such as rsq() are strictly for consistency/correlation
CCC is a metric that should be maximized. The output ranges from -1 to 1, with 1 indicating perfect agreement.
The formula for CCC is:
\text{CCC} = \frac{2 \cdot \text{cov}(\text{truth}, \text{estimate})}{\text{var}(\text{truth}) + \text{var}(\text{estimate}) + (\bar{\text{truth}} - \bar{\text{estimate}})^2}
A tibble with columns .metric, .estimator,
and .estimate and 1 row of values.
For grouped data frames, the number of rows returned will be the same as the number of groups.
For ccc_vec(), a single numeric value (or NA).
Max Kuhn
Lin, L. (1989). A concordance correlation coefficient to evaluate reproducibility. Biometrics, 45 (1), 255-268.
Nickerson, C. (1997). A note on "A concordance correlation coefficient to evaluate reproducibility". Biometrics, 53(4), 1503-1507.
All numeric metrics
Other numeric metrics:
gini_coef(),
huber_loss(),
huber_loss_pseudo(),
iic(),
mae(),
mape(),
mase(),
mpe(),
msd(),
mse(),
poisson_log_loss(),
rmse(),
rmse_relative(),
rpd(),
rpiq(),
rsq(),
rsq_trad(),
smape()
Other consistency metrics:
rpd(),
rpiq(),
rsq(),
rsq_trad()
Other accuracy metrics:
huber_loss(),
huber_loss_pseudo(),
iic(),
mae(),
mape(),
mase(),
mpe(),
msd(),
mse(),
poisson_log_loss(),
rmse(),
rmse_relative(),
smape()
# Supply truth and predictions as bare column names
ccc(solubility_test, solubility, prediction)
library(dplyr)
set.seed(1234)
size <- 100
times <- 10
# create 10 resamples
solubility_resampled <- bind_rows(
replicate(
n = times,
expr = sample_n(solubility_test, size, replace = TRUE),
simplify = FALSE
),
.id = "resample"
)
# Compute the metric by group
metric_results <- solubility_resampled |>
group_by(resample) |>
ccc(solubility, prediction)
metric_results
# Resampled mean estimate
metric_results |>
summarise(avg_estimate = mean(.estimate))
# Using a different value of 'bias'... if you are adding the metric to a
# metric set, you can create a new metric function with the updated argument
# value:
ccc_bias <- metric_tweak("ccc_bias", ccc, bias = TRUE)
multi_metrics <- metric_set(ccc, ccc_bias)
multi_metrics(solubility_test, solubility, prediction)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.