Lors de vos analyses statistiques, vous risquez d'être confronté à la gestion de plusieurs données de types différents et potentiellement de longueurs différentes. Bien entendu, vous pourriez stocker tous ces éléments dans autant de vecteurs/variables/facteurs en fonction de vos besoins. Mais ne serait-il pas plus pratique d'avoir un seul objet permettant de stocker tous ces différents objets? C'est ce à quoi correspondent les listes. Une liste est un ensemble ordonné d'objets qui n'ont pas toujours le même mode ou la même longueur. Les différents objets sont appelés des composantes et peuvent être associés à un nom spécifique (un peu comme une variable). Créer fonction r.o. Les listes ont les deux attributs des vecteurs ( length et mode) et l'attribut supplémentaire names. Les listes sont des objets indispensables, car toutes les fonctions qui retournent plusieurs objets le font sous la forme d'une liste. Création de listes La fonction de base pour créer une liste est la fonction list: maliste <- list(c("A", "B", "C", "A"), matrix(1:4, 2, 2))
maliste
# [[1]]
# [1] "A" "B" "C" "A"
# [[2]]
# [, 1] [, 2]
# [1, ] 1 3
# [2, ] 2 4 Cette liste contient bien 2 objets et c'est bien une liste, comme nous pouvons le voir ci-dessous: length(maliste)
# [1] 2
mode(maliste)
# [1] "list"
(maliste)
# [1] TRUE Comme dit plus tôt, vous pouvez nommer les composantes de la liste, c'est-à-dire associer un nom à chaque objet de la liste pour pouvoir y accéder plus facilement via l'opérateur $.
Créer Fonction R.E
Voici un exemple simple mais merge() va beaucoup plus loin! x <- (k1 = c(NA, NA, 3, 4, 5), k2 = c(1, NA, NA, 4, 5), data = 1:5) y <- (k1 = c(NA, 2, NA, 4, 5), k2 = c(NA, NA, 3, 4, 5), data = 2:6) x k1 k2 data 1 NA 1 1 2 NA NA 2 3 3 NA 3 4 4 4 4 5 5 5 5 y k1 k2 data 1 NA NA 2 2 2 NA 3 3 NA 3 4 4 4 4 5 5 5 5 6 Les tableaux x et y vont être fusionnés selon les critères k1 et k2: merge(x, y, by = c("k1", "k2")) # NA's match Résultats: les lignes de x et y qui n'ont pas trouvé de correspondance pour k1 et k2 ont été supprimées k1 k2 data. x data. Créer fonction r.o. y 1 4 4 4 5 2 5 5 5 6 3 NA NA 2 2 6- Joindre des tableaux, joindre des bases de données en utilisant une ou plusieurs clefs La jointure entre des dataframes est facile à réaliser avec la fonction left_join() de la librairie Mots clefs: tidyverse, join, dplyr... Imaginons 2 tableaux: L'un regroupe des noms de personnes et leurs groupes d'attribution L'un établit la relation entre groupe et secteur pour une journée de production On va pouvoir joindre ces deux tableaux pour savoir dans quel secteur va aller chaque personne.
Exemples
6-8. Exercices
Fonctions d'optimisation
7. Fonctions d'optimisation
7-1. Fonctions d'optimisation et de calcul de racines
7-1-1. Fonction uniroot
7-1-2. Fonction optimize
7-1-3. Fonction nlm
7-1-4. Fonction nlminb
7-1-5. Fonction optim
7-1-6. polyroot
7-2. Astuce Ripley
7-3. Pour en savoir plus
7-4. Exemples
7-5. Exercices
Générateurs de nombres aléatoires
8. Générateurs de nombres aléatoires
8-1. Utilisez les facteurs - Initiez-vous au langage R pour analyser vos données - OpenClassrooms. Générateurs de nombres aléatoires
8-2. Fonctions de simulation de variables aléatoires non uniformes
8-3. Exemples
8-4. Exercices
GNU Emacs et ESS: la base
A. GNU Emacs et ESS: la base
A-1. Mise en contexte
A-2. Installation
A-3. Description sommaire
A-4. Emacs-ismes et Unix-ismes
A-5. Commandes de base
A-5-1. Les essentielles
A-5-2. Manipulation de fichiers
A-5-3. Déplacements simples du curseur
A-5-4. Sélection de texte, copier, coller, couper
A-5-5. Manipulation de fenêtres
A-5-6. Manipulation de fihiers de script dans le mode ESS
A-5-7. Interaction avec l'invite de commande R
A-5-8.
TableEnSortie <- filter (TableEnSortie, Condition1,..., ConditionN)
base_filter <- filter (base, DEP == "01" & P14_POP > 10000)
\(\Rightarrow\) Attention à l'opérateur de comparaison: " == " et non pas "="
Les tests logiques dans R
Syntaxe
Action
==
Test d'égalité! =
Différent de%in% c(... )
Dans une liste de valeurs
>, >=, <, <=
Supérieur (ou inférieur) (ou égal)! (x%in% c(... [dplyr] Créer une variable avec une condition - R. ))
N'est pas dans une liste de valeurs
TableEnSortie <- filter (TableEnSortie, x == a & y == b) # x vaut a **ET** y vaut b
TableEnSortie <- filter (TableEnSortie, x == a | y == b) # x vaut a **OU** y vaut b (barre verticale AltGR+6)
Renommer des colonnes
La fonction rename() permet de renommer une variable (ou plusieurs). base <- rename (base, nouveau_nom = ancien_nom)
Exemple
base_rename <- rename (base, ZONE_EMPLOI = ZE)
Exercice: créer, filtrer, sélectionner
En utilisant la fonction mutate(), créer une nouvelle variable correspondant à la densité de population (rapport de la population à la superficie de la commune), ainsi que les taux de natalité et de mortalité (en pour mille)
A l'aide de la fonction select(), créer une nouvelle table en ne conservant que le code commune, le type de commune (ZAU), la région, le département et les variables que vous venez de créer.
Créer Fonction R.O
14)
meric( 3 + 4i)
Tester certaines valeurs:
En plus du type atomique d'un objet, il est possible de tester si certaines valeurs sont présentes dans un vecteur. Les fonctions en question prennent un vecteur en entrée, et renvois un vecteur de booléen indiquant pour chaque élément si oui ou non il prend bien la valeur recherchée. Tester la présence de Inf et -Inf:
v = c( 2, Inf, NA, - Inf)
finite(v)
Tester la présence de NA:
(v)
Interagir avec l'utilsateur:
A l'aide de la fonction readline on peut récupérer ce que l'utilisateur écrit dans la console et le stocker dans une variable. Cette fonction prend en paramétre une chaine qui sera affichée dans la console pour demander à l'utilisateur sa saisie. Elle renvoit toujours une chaine de carctére. saisie = readline( "Quel âge avez-vous? Créer une table à partir de DataFrame dans R – Acervo Lima. ") saisie = meric(saisie)
C'est une fonction trés pratique pour réaliser des programmes qui intéragissent avec l'utilisateur! A retenir:
Il existe de nombreuses fonctions utilitaires en R, en particulier pour la génération de vecteurs aléatoires, la génération de séquences de nombres, les opérations mathématiques, ainsi que tester le type des objets.
> v <- c ( 2, 3)
> 4 * v
[ 1] 8 12
Opérations algébriques [ modifier | modifier le wikicode]
L'opérateur%*% (pourcent-astérisque-pourcent) effectue un produit scalaire, en supposant la base orthonormale:
> u <- c ( 1, 2)
> v <- c ( 3, -1)
> u%*% v
[, 1]
[ 1, ] 1
Notons que le résultat est une matrice d'une seule composante (un tableau d'une seule case). On peut extraire le résultat en prenant l'élément (1, 1) de la matrice, ou bien en faisant la somme cumulée de ce vecteur:
> a <- u%*% v
[ 1] "matrix" "array" "structure" "vector"
> a [ 1, 1]
[ 1] 1
> cumsum ( a)
On peut ainsi calculer la norme du vecteur par
> sqrt ( u%*% u)
[ 1, ] 2. 236068
Vecteur comme suite de valeurs [ modifier | modifier le wikicode]
Le vecteur peut aussi représenter une suite u 1, u 2, …, u n.
Par exemple:
> indices = x > 5
> x [ indices]
[ 1] 10 11 12 13 14 15
Arithmétique des vecteurs [ modifier | modifier le wikicode]
Les opérations arithmétiques entre deux vecteurs de même dimension sont des opérations terme à terme. Une opération arithmétique entre deux vecteurs de même dimension retourne un vecteur dont les éléments correspondent à l'opération arithmétique effectuée pour l'indice correspondant des vecteurs donnés en argument. > a <- c ( 1, 6, 2, 4)
> b <- c ( 9, 2, 6, 1)
> a + b
[ 1] 10 8 8 5
> a / b
[ 1] 0. 1111111 3. 0000000 0. 3333333 4. 0000000
La somme de deux vecteurs correspond donc à la notion algébrique. Si un vecteur est plus petit que l'autre, R répète les valeurs du plus petit vecteur jusqu'à générer un vecteur de même taille que le plus grand. En particulier, si un des vecteurs est un scalaire, alors R applique l'opération entre le scalaire et tous les éléments du vecteur
> a <- 1: 10
> a +5
[ 1] 6 7 8 9 10 11 12 13 14 15
Pour déterminer les nombres impairs:
> a%% 2 == 1
[ 1] TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE
Ainsi, l'opération multiplication d'un vecteur par un scalaire correspond à l'opération algébrique.
Informations sur le produit
Pièce moto: moteur BETA 50
Dans notre réserve de pièces pour moto BETA 50, nous avons à votre disposition cette pièce: moteur BETA 50cc pour votre moto modèle RR. Si ce produit ne convient pas, vous pouvez consulter d'autres pièces moto de marque BETA pour votre moto.
Moteur Beta 50 Ans
Informations sur le produit
Pièce pour moto: moteur BETA 50
Chez Surplus Motos, dans notre réserve de pièces pour moto BETA 50, nous avons à votre disposition cette pièce: moteur BETA 50cc pour votre moto modèle RR. Si cet article ne correspond pas, vous pouvez découvrir une autre sélection de pièces de marque BETA pour votre moto.
Moteur Beta 50 Years
[ PROJET BETA 50CC RR] Démontage du moteur et verdict! - YouTube
Veuillez vérifier dans les annonces les informations concernant la collecte des articles et les frais de retour de la marchandise afin de savoir qui prend en charge les frais de retour. Que faire si votre article est livré par erreur, défectueux ou endommagé? Si vous pensez que l'article que vous avez acheté a été livré par erreur, est défectueux ou endommagé, veuillez nous contacter afin que nous trouvions ensemble une solution. Si vous payez votre article avec PayPal, vous pouvez également obtenir des informations sur le programme de protection des acheteurs eBay. Cette politique de retour ne modifie pas vos droits légaux, par exemple ceux relatifs à des articles défectueux ou mal décrits. Pour plus d'information, y compris vos droits en vertu du Règlement sur les contrats de consommation, veuillez consulter la section Connaissez vos droits.