Les rangs: la fonction rank()

Documents pareils
TP 1. Prise en main du langage Python

Initiation à la Programmation en Logique avec SISCtus Prolog

INTRODUCTION AU LOGICIEL R

Les chaînes de caractères

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Module 16 : Les fonctions de recherche et de référence

1 Introduction - Qu est-ce que le logiciel R?

Algorithme. Table des matières

Codage d information. Codage d information : -Définition-

Sujet de rédaction. «Mon histoire»

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Esterel The french touch star touch esterel advance

1 Recherche en table par balayage

STAGE IREM 0- Premiers pas en Python

Lire ; Compter ; Tester... avec R

Compléments de documentation Scilab : affichage de texte et formatage de nombres

LES TYPES DE DONNÉES DU LANGAGE PASCAL

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Réaliser la fiche de lecture du document distribué en suivant les différentes étapes de la méthodologie (consulter le support du TD!

Découverte de Python

OCL - Object Constraint Language

Excel 2007 Niveau 3 Page 1

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Corrigé des TD 1 à 5

Statistiques Descriptives à une dimension

R, Bonnes pratiques. Christophe Genolini

Utilisation d objets : String et ArrayList

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

INF 321 : mémento de la syntaxe de Java

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

BACCALAURÉAT PROFESSIONNEL SUJET

Cours de Probabilités et de Statistique

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Présentation du langage et premières fonctions

Cours 7 : Utilisation de modules sous python

Jeux de caracte res et encodage (par Michel Michaud 2014)

Prudence, Epargne et Risques de Soins de Santé Christophe Courbage

Cours Informatique Master STEP

EBS 204 E C B S. Publication : Novembre 96

Initiation à la programmation en Python

Les concepts de base, l organisation des données

UE Programmation Impérative Licence 2ème Année

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

Fédération Nationale des Organismes de Gestion des Établissements de l Enseignement Catholique Questions Réponses Le mandat

progression premiere et terminale

TD3 - Facturation avec archivage automatisé

TP1 : Initiation à Java et Eclipse

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Introduction à MATLAB R

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Langage Java. Classe de première SI

Logiciel de Base. I. Représentation des nombres

Tutoriel Mathematica Les graphiques

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Table des matières. Introduction

BeLearner.com, en 5 leçons!

Domain Name Service (DNS)

NOTICE TELESERVICES : Créer mon compte personnel

Statistiques à une variable

CRÉER UN COURS EN LIGNE

Un exemple de régression logistique sous

Probabilités sur un univers fini

Espace de stockage intermédiaire. Compte de Messagerie. Communication «Asynchrone» «Compte de Messagerie»

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Valeur cible et solveur. Les calculs effectués habituellement avec Excel utilisent des valeurs numériques qui constituent les données d'un problème.

IMPORTATION ARTICLES DANS LA BASE DE DONNEES

Statistique : Résumé de cours et méthodes

Guide d usage du portail périscolaire de la Ville de Lorient

I. Introduction aux fonctions : les fonctions standards

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

COMPTABILITE SAGE LIGNE 30

FORMULAIRE DE STATISTIQUES

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

BAREME sur 40 points. Informatique - session 2 - Master de psychologie 2006/2007

Algorithmique et Programmation, IMA

Programme de la formation. Écrit : 72hdepréparation aux épreuves d admissibilité au CRPE

1.6- Génération de nombres aléatoires

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

TD3: tableaux avancées, première classe et chaînes

MODE OPERATOIRE OPENOFFICE BASE

Votre Réseau est-il prêt?

2 Comment fonctionne un ordinateur, dans les grandes lignes

Ecole Technique «Transformation de données documentaires» Poitiers, mars Atelier 1: Sphinx. import, conversion, export de données

Chap III : Les tableaux

NOTICE DE MONTAGE ECHELLE

1 Introduction au codage

GUIDE MEMBRE ESPACE COLLABORATIF. Février 2012

1 Introduction et installation

Statistiques avec la graph 35+

M é ca n ism e Pr o lo g. Ex e m p le

MODELES DE DUREE DE VIE

Le langage SQL Rappels

INTERNET & RESEAUX. Dino LOPEZ PACHECO lopezpac@i3s.unice.fr

Reaper : utilisations avancées

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Transcription:

Les rangs: la fonction rank() Fabrice Dessaint Inra, UMR1347 Agroécologie, Dijon Février 2016Version 1 Cette note présente la fonction rank() et le calcul des rangs réalisé par R. Les rangs Il existe plusieurs définitions du mot rang, mais dans ce document, on va appeler rang, la place occupée par un élément dans un ensemble préalablement classé selon un ordre déterminé 1. Les rangs interviennent dans le calcul d un certain nombre de statistiques 2 comme la médiane, les quartiles, la mesure de corrélation de Spearman,... et plus généralement dans les méthodes dites non paramétriques. 1. Ordre croissant ou décroissant, ordre alphabétique, ordre temporel,... 2. Statistique d ordre, statistiques de rang La fonction rank() Sous R 3, c est la fonction rank(), qui permet le calcul des rangs. Elle pos- 3. R version 3.2.3 (2015-12-10) sède 3 arguments et sa syntaxe est donnée ci-dessous : rank(x, na.last = TRUE, ties.method = c("average", "first", "random", "max", "min")) L argument = Cet argument renseigne sur le vecteur qui contient les valeurs dont on veut calculer le rang. C est le seul argument obligatoire. Il peut être érique (eric), complexe (complex), logique (logical) ou alphaérique (character). Selon le type de vecteur, l ordre utilisé pour classer les valeurs est différent. Pour un vecteur érique sans ex aequo et sans valeurs manquantes, les rangs correspondent aux places des éléments après classement par ordre croissant. La valeur la plus faible a le rang 1 et la valeur la plus forte le rang n (nombre d éléments du vecteur). Pour le vecteur érique suivant <- c(10, 3, 0, -2, -6) les rangs obtenus par défaut sont : rank(x=) [1] 5 4 3 2 1 L élément le plus petit (-6) a le rang 1 et l élément le plus grand (10), le rang 5 (la taille du vecteur). Pour un vecteur logique, l ordre croissant est FALSE, TRUE.

les rangs: la fonction rank() 2 logique <- c(true, FALSE) rank(x=logique) [1] 2 1 Pour un vecteur alphaérique, l ordre croissant est celui des lettres (a z) puis pour une même lettre, la forme minuscule avant la forme majuscule (a, A). alpha <- c("a", "A", "b", "B", "d", "D") alpha <- c("a", "A", "aa", "aa", "AA", "ab") Lorsque le vecteur comporte des caractères accentués, les caractères non accentués ont un rang plus faible que les caractères accentués. alpha <- c("a", "A", "à", "À", "c", "ç", "e", "é", "è", "u", "ù") 7 8 9 10 11 Lorsque le vecteur est composé de chaînes de nombres, ce n est pas l ordre croissant des nombres qui est utilisé. On conserve l ordre alphabétique avec la valeur "11" classée avant la valeur "2". alpha <- c("1", "11", "2", "20", "3") [1] 1 2 3 4 5 Enfin, lorsque le vecteur est composé de chaînes de caractères et de chaînes de nombres, ce sont ces derniers qui ont les rangs les plus faibles : alpha <- c("1", "11", "2", "20", "3", "aa", "aa", "AA", "ab") 7 8 9 L argument na.last=true Cet argument est facultatif. Il indique si on conserve les valeurs manquantes présentes dans le vecteur de sortie et dans ce cas, comment on les classe. On peut les supprimer du vecteur de sortie avec la valeur na.last=na. <- c(1, 2, NA, 5, 6) rank(x=, na.last=na) [1] 1 2 3 4

les rangs: la fonction rank() 3 Si on conserve les valeurs manquantes, on a trois possibilités : elles sont classées en début (FALSE) ou en fin (TRUE) de vecteur ou elles conservent leurs valeurs NA dans le vecteur des rangs. Dans le premier cas, elles ont les rangs les plus faible et dans le second cas, les rangs les plus fort. <- c(1, 2, 5, 6, NA, NA) rank(x=, na.last=true) rank(x=, na.last=false) [1] 3 4 5 6 1 2 Avec la valeur "keep", elles n ont pas de rang et conservent la valeur NA. <- c(1, 2, NA, 5, 6, NA) rank(x=, na.last="keep") [1] 1 2 NA 3 4 NA L argument ties.method="average" C est le dernier argument de la fonction. Il permet de traiter le cas de ex aequo. Il peut prendre 5 valeurs selon la méthode retenue. Valeurs : average, first, random, max, min La première valeur, ties.method="average", est celle par défaut. Elle donne un rang moyen pour les éléments qui ont la même valeur : <- c(1, 1, 2, 3, 5, 6, 10, 10, 10) rank(x=) [1] 1.5 1.5 3.0 4.0 5.0 6.0 8.0 8.0 8.0 Dans cet exemple, la valeur 1 apparaît 2 fois et elle occupe, après classement, les places 1 et 2. Son rang est la moyenne des places, soit 1.5. De même pour la valeur 10 qui apparaît 3 fois aux places 7 à 9 : son rang est de 8. Les rangs ne sont plus nécessairement des entiers et le rang le plus faible n a plus nécessairement la valeur 1 et le rang le plus fort la valeur n. La valeur ties.method="max" affecte aux valeurs identiques, le rang le plus fort dans les places possibles. Ainsi, pour la valeur 1, les places possibles sont 1 et 2 et le rang est 2. Pour la valeur 10 les places possibles sont 7, 8 ou 9, et le rang est 9. [1] 1 1 2 3 5 6 10 10 10 rank(x=, ties.method="max") [1] 2 2 3 4 5 6 9 9 9

les rangs: la fonction rank() 4 La valeur, ties.method="min" donne aux valeurs identiques le rang le plus faible dans les places possibles. Ainsi, pour la valeur 1, les places possibles sont 1 et 2 et le rang est 1. Pour la valeur 10 les places possibles sont 7, 8 ou 9, et le rang est 7. [1] 1 1 2 3 5 6 10 10 10 rank(x=, ties.method="min") [1] 1 1 3 4 5 6 7 7 7 Pour ces trois options les valeurs identiques ont le même rang. La valeur ties.method="first" affecte aux valeurs identiques, le rang correspondant à leur ordre d arrivée dans la séquence des places possibles. Par exemple, dans le vecteur suivant <- c(1,1,1) names() <- letters[1:3] a b c 1 1 1 les éléments (a, b, c) ont la même valeur 1. Dans le vecteur, l élément a est avant l élément b, lui même avant l élément c. On aura donc les rangs 1, 2, 3 pour les éléments a, b, c. rank(x=, ties.method="first") a b c 1 2 3 Si maintenant, on inverse l ordre du vecteur ( <- rev()) c b a 1 1 1 on a maintenant les rangs 3,2,1 pour les éléments a, b, c. rank(x=, ties.method="first") c b a 1 2 3 La valeur ties.method="random" donne aux valeurs identiques, une place tirée au hasard dans les places possibles. Ainsi, pour la valeur 1, les places possibles sont 1 et 2. Pour la valeur 10 les places possibles sont 7, 8 ou 9. <- c(1, 1, 2, 3, 5, 6, 10, 10, 10) rank(x=, ties.method="random")

les rangs: la fonction rank() 5 8 7 9 rank(x=, ties.method="random") 7 8 9 Pour ces 2 dernières options, chaque élément dans le vecteur possède un rang différent.