Interfaces utilisateur et rapports statistiques avec R et Sas
Introduction
Chapitre 1. Environnement de travail
Chapitre 2. Le langage R
2.1. Vecteurs
2.1.1. Création
2.1.2. Indexation
2.1.3. Valeurs manquantes
2.1.4. Fonctions prédéfinies
2.2. Matrices
2.3. Listes
2.4. Tableaux de données
2.5. Fonctions personnalisées
2.6. Exercices
Chapitre 3. Rapports statistiques
Chapitre 4. Interfaces utilisateur
Chapitre 5. Bases de données et langage Sql
Annexe A : une applette Java
Annexe B : le logiciel Sas
Page d'accueil Table des matières Niveau supérieur Page précédente Bas de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module

2.1.2. Indexation

Cette section explique comment accéder aux éléments du vecteur notes introduit dans la section précédente :

1 2 3 4 5
7 8 9 10 11

Un vecteur peut bien évidemment être indexé par un nombre, mais aussi par un vecteur numérique ou booleen :

notes = c(7, 8, 9, 10, 11)
notes[3] = notes[3]+0.1  # ajoute 0.1 à la 3ième note
notes[c(1,4,5)] = notes[c(1,4,5)]+0.1  # ajoute 0.1 aux notes 1, 4 et 5
notes[-c(2,3)]  # sans les notes 2 et 3 (donc notes[c(1,4,5)])
notes[c(F,T,T,F,F)]  # equivalent à notes[c(2,3]) ou notes[-c(1,4,5)]

Nous avons vu dans la section précédente que le vecteur booleen c(F,T,T,F,F) pouvait être construit à partir de tests sur les vecteurs notes et sexe. On peut donc utiliser l'indexation booléenne pour obtenir les notes des femmes, les notes des étudiants entre 8 et 10...

# moyenne des notes des femmes
sexe = c("homme", "femme", "femme", "homme", "homme")
notes[sexe=="femme"]	
mean( notes[sexe=="femme"] , na.rm=T )
# nombre d'etudiants en rattrapage au bac
notes[(notes >= 8) & (notes < 10)]
length( notes[(notes >= 8) & (notes < 10)] )
Page d'accueil Table des matières Niveau supérieur Page précédente Haut de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module