L'astuce du jour: produire une courbe de Bonferroni
Page 1 sur 1
L'astuce du jour: produire une courbe de Bonferroni
La courbe de Bonferroni est un des multiples outils disponibles pour étudier les inégalités de revenus. Comme la courbe de Lorenz, elle présente en abscisse les centiles de population ordonnés par niveau croissant de revenus. Pour les p% les plus pauvres de la population, elle indique alors le ratio du revenu moyen de ce groupe par rapport au revenu moyen pour l'ensemble de la population. Voici du code pour produire les coordonnées d'une courbe de Bonferroni et la tracer:
Pour la fonction Bc, x désigne le vecteur de revenus et n (optionnel) le vecteur de fréquence de chaque niveau de revenu présent dans x dans la population. Le code est directement inspiré de la fonction Lc pour les courbes de Lorenz du paquet ineq.
- Code:
Bc <- function (x, n = rep(1, length(x)), plot = FALSE) {
k <- length(x)
o <- order(x)
x <- x[o]
n <- n[o]
x <- n * x
p <- cumsum(n)/sum(n)
B <- (cumsum(x)/cumsum(n))/mean(x)
p <- c(0, p)
B <- c(0, B)
Bc <- list(p, B)
names(Bc) <- c("p", "B")
class(Bc) <- "Bc"
if (plot)
plot(Bc)
Bc
}
plot.Bc <- function (x, lwd = 2, xlab = "p", ylab = "B(p)", main = "Bonferroni curve", las = 1, ...) {
plot(x$p, x$B, type = "l", main = main, lwd = lwd, xlab = xlab,
ylab = ylab, xaxs = "i", yaxs = "i", las = las, ...)
abline(0,1)
}
Pour la fonction Bc, x désigne le vecteur de revenus et n (optionnel) le vecteur de fréquence de chaque niveau de revenu présent dans x dans la population. Le code est directement inspiré de la fonction Lc pour les courbes de Lorenz du paquet ineq.
Sujets similaires
» L'astuce du jour : produire un tableau de régressions en tex
» L'astuce du jour : sur les arrondis
» L'astuce du jour : nom des fichiers
» L'astuce du jour : graphiques
» L'astuce du jour : suivre l'évolution d'une grosse boucle
» L'astuce du jour : sur les arrondis
» L'astuce du jour : nom des fichiers
» L'astuce du jour : graphiques
» L'astuce du jour : suivre l'évolution d'une grosse boucle
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|