normalise_ci function

Normalisation and polarity functions

Normalisation and polarity functions

This function lets to normalise simple indicators according to the polarity of each one.

normalise_ci(x, indic_col, polarity, method=1, z.mean=0, z.std=1, ties.method ="average")

Arguments

  • x: A data frame containing simple indicators.

  • indic_col: Simple indicators column number.

  • method: Normalisation methods:

    • 1 (default) = standardization or z-scores using the following formulation:
zij=z.mean±xijMxjSxjz.std z_{ij}=z.mean \pm \frac{x_{ij}-M_{x_j}}{S_{x_j}}\cdot z.std

where ±\pm depends on polarity parameter and z.mean and z.std represent the shifting parameters. * 2 = Min-max method using the following formulation:

   if **polarity**="POS": 
xmin(x)max(x)min(x) \frac{x-min(x)}{max(x)-min(x)}
   if **polarity**="NEG": 
max(x)xmax(x)min(x) \frac{max(x)-x}{max(x)-min(x)}
 * 3 = Ranking method. If **polarity**="POS" ranking is increasing, while if **polarity**="NEG" ranking is decreasing. 
  • polarity: Polarity vector: "POS" = positive, "NEG" = negative. The polarity of a individual indicator is the sign of the relationship between the indicator and the phenomenon to be measured (e.g., in a well-being index, "GDP per capita" has 'positive' polarity and "Unemployment rate" has 'negative' polarity).
  • z.mean: If method=1, Average shifting parameter. Default is 0.
  • z.std: If method=1, Standard deviation expansion parameter. Default is 1.
  • ties.method: If method=3, A character string specifying how ties are treated, see rank for details. Default is "average".

Returns

  • ci_norm: A data.frame containing normalised score of the choosen simple indicators.

  • norm_method: Normalisation method used.

References

OECD, "Handbook on constructing composite indicators: methodology and user guide", 2008, pag.30.

Author(s)

Vidoli F.

See Also

ci_bod, ci_mpi

Examples

data(EU_NUTS1) # Standard z-scores normalisation # data_norm = normalise_ci(EU_NUTS1,c(2:3),c("NEG","POS"),method=1,z.mean=0, z.std=1) summary(data_norm$ci_norm) # Normalisation for MPI index # data_norm = normalise_ci(EU_NUTS1,c(2:3),c("NEG","POS"),method=1,z.mean=100, z.std=10) summary(data_norm$ci_norm) data_norm = normalise_ci(EU_NUTS1,c(2:3),c("NEG","POS"),method=2) summary(data_norm$ci_norm)
  • Maintainer: Francesco Vidoli
  • License: GPL-3
  • Last published: 2025-01-09

Useful links