Imprimer
Catégorie : Logiciel R

Pourquoi utiliser R pour votre travail statistique?
Programmation orientée objet
Programmation fonctionnelle
1.1 Comment exécuter R
1.1.1 Mode interactif
1.1.2 Mode de lot
1.2 Une première session R
1.3 Introduction aux fonctions
1.3.1 Portée variable
1.3.2 Arguments par défaut
1.4 Prévisualisation de certaines structures de données R importantes
1.4.1 Vecteurs, le R Workhorse
1.4.2 Chaînes de caractères
1.4.3 Matrices
1.4.4 Listes
1.4.5 Cadres de données
1.4.6 Classes
1.5 Exemple étendu: analyse de régression de l'examen des notes
1.6 Démarrage et arrêt
1.7 Obtenir de l'aide
1.7.1 La fonction help
1.7.2 La fonction example
1.7.3 Si vous ne savez pas tout ce que vous cherchez
1.7.4 Aide pour d'autres sujets
1.7.5 Aide pour le mode Batch
1.7.6 Aide sur Internet


VECTEURS
2.1 Scalars,
vecteurs, matrices et matrices

2.1.1 Ajout et suppression d'éléments vectoriels
2.1.2 Obtenir la longueur d'un vecteur
2.1.3 Matrices et tableaux en tant que vecteurs
2.2 Déclarations
2.3 Recyclage
2.4 Opérations vectorielles communes
2.4.1 Opérations arithmétiques et logicielles vectorielles
2.4.2 Indexation vectorielle
2.4.3 Générer des vecteurs utiles avec: Opérateur
2.4.4 Générer des séquences vectorielles avec seq ()
2.4.5 Constantes vectorielles répétées avec rep ()
2.5 Utilisation de any () et de all ()
2.6 Opérations vectorisées
2.6.1 Vector In, Vector Out
2.6.2 Vector In, Matrix Out
2.7 Valeurs NA et NULL
2.7.1 Utilisation de NA
2.7.2 Utilisation de NULL
2.8 Filtrage
2.8.1 Génération d'indices de filtrage
2.8.2 Filtrage avec le sous-ensemble () Fonction
2.8.3 La fonction de sélection qui ()
2.9 A Vectorisé if-then-else: la fonction ifelse ()
2.10 Test de l'égalité des vecteurs
2.11 Noms d'éléments vectoriels
2.12 Plus sur c ()


3 MATRICES ET TABLEAUX
3.1 Création de matrices
3.2 Opérations générales de la matrice
3.2.1 Effectuer des opérations d'algèbre linéaire sur des matrices
3.2.2 Indice Matrix
3.2.3 Exemple étendu: Manipulation d'image
3.2.4 Filtrage sur matrices

3.3 Application des fonctions aux lignes et aux colonnes Matrix
3.3.1 Utilisation de la fonction apply ()
3.3.2 Exemple étendu: recherche de valeurs aberrantes
3.4 Ajout et suppression de lignes et de colonnes matricielles
3.4.1 Modification de la taille d'une matrice
3.4.2 Exemple étendu

3.5 Difference Vector / Matrix
3.6 Éviter la réduction involontaire de la taille 
3.7
Nommer les lignes et les colonnes matricielles

3.8 Matrices de dimension supérieure


4 LISTES
4.1 Création de listes
4.2 Opérations de la liste générale
4.2.1 Indexer la liste
4.2.2 Ajout et suppression d'éléments de liste
4.2.3 Obtenir la taille d'une liste
4.3 Accès aux composants et aux valeurs de la liste
4.4 Application des fonctions aux listes
4.4.1 Utilisation des fonctions lapply () et sapply ()
4.4.2 Exemple étendu: Texte Concordance, suite
4.4.3 Exemple étendu: Retour aux données d'Abalone
4.5 Listes récursives


5 CADRES DE DONNÉES
5.1 Création de cadres de données
5.1.1 Accès aux cadres de données
5.1.2 Exemple étendu: Analyse de régression des notes d'examen

5.2 Autres opérations analogues aux matrices
5.2.1 Extraction de cadres de sous-données
5.2.2 Plus sur le traitement des valeurs NA
5.2.3 Utilisation des fonctions rbind () et cbind () et des alternatives
5.2.4 Appliquer postuler ()
5.3 Fusion de cadres de données
5.4 Application des fonctions aux cadres de données
5.4.1 Utilisation de lapply () et sapply () sur Data Frames
5.4.2 Exemple étendu: application de modèles de régression logistique


FACTEURS ET TABLEAUX
6.1 Facteurs et niveaux
6.2 Fonctions communes utilisées avec des facteurs
6.2.1 La fonction tapply ()
6.2.2 La division () Fonction
6.2.3 La fonction by ()
6.3 Travailler avec les tableaux
6.3.1 Opérations liées à la matrice / tableau dans les tableaux
6.3.2 Exemple étendu: Extraction d'un sous-système
6.3.3 Exemple étendu: trouver les plus grandes cellules dans un tableau
6.4 Autres fonctions liées au facteur et à la table
6.4.1 L'ensemble () Fonction
6.4.2 La fonction coupure ()


7 STRUCTURES DE PROGRAMMATION R
7.1 Énoncés de contrôle
7.1.1 Boucles
7.1.2 Looping Over Nonvector Sets
7.1.3 if-else
7.2 Opérateurs et valeurs arithmétiques et booléennes
7.3 Valeurs par défaut pour les arguments
7.4 Valeurs de retour
7.4.1 Décider d'appeler explicitement le retour ()
7.4.2 Retour des objets complexes
7.5 Les fonctions sont des objets
7.6 Environnement et portée Iss

7.6.1 L'environnement de haut niveau
7.6.2 La hiérarchie de la portée
7.6.3 Plus sur ls ()
7.6.4 Les fonctions ont (presque) aucun effet secondaire
7.6.5 Exemple étendu: une fonction pour afficher le contenu d'un
Cadre d'appel
7.3 Pas de pointeurs dans R
7.4 Écriture à l'étage
7.8.1 Ecrire à des non-locaux avec l'opérateur de superassignation
7.8.2 Ecriture sur non-localisé avec assign
7.5 Recursion
7.6 Fonctions de remplacement
7.10.1 Qu'est-ce qui est considéré comme une fonction de remplacement?
7.7 Outils pour composer le code de fonction
7.11.1 Éditeurs de texte et environnements de développement intégrés
7.11.2 La fonction edit ()
7.8 Écriture de vos propres opérations binaires
7.9 Fonctions anonymes


8 FAIRE UN MATHÉNALITÉ ET DES SIMULATIONS EN R 189
8.1 Fonctions mathématiques 189
8.1.1 Exemple étendu: Calcul d'une probabilité 190
8.1.2 Sommes cumulatives et produits 191
8.1.3 Minima et Maxima 191
8.1.4 Calcul 192
8.2 Fonctions pour les distributions statistiques 193
8.3 Tri 194
8.4 Opérations d'algèbre linéaire sur les vecteurs et les matrices 196
8.4.1 Exemple étendu: Vector Cross Product 198
8.4.2 Exemple étendu: trouver des distributions fixes de
Chaînes Markov 199
8.5 Set Operations 202
8.6 Programmation de simulation dans R 204
8.6.1 Génératrices à variation aléatoire intégrée 204
8.6.2 Obtenir le même flux aléatoire dans les courses répétées 205
8.6.3 Exemple étendu: une simulation combinatoire 205


9 PROGRAMMATION ORIENTÉE À L'OBJET 207
9.1 S3 Classes 208
9.1.1 S3 Fonctions génériques 208
9.1.2 Exemple: OOP dans le lm () Modèle linéaire Fonction 208
9.1.3 Trouver les implémentations de méthodes génériques 210
9.1.4 Ecriture de classes S3 212
9.1.5 Utilisation de l'héritage 214
9.1.6 Exemple étendu: une classe pour l'entreposage triangulaire supérieur
Matrices 214
9.1.7 Exemple étendu: une procédure pour la régression polynomiale 219
9.2 S4 Classes 222
9.2.1 Ecriture de classes S4 223
9.2.2 Implémentation d'une fonction générique sur une classe S4 225
9.3 S3 Versus S4 226 9.4 Gestion de vos objets 226
9.4.1 Liste de vos objets avec la fonction ls () 226
9.4.2 Suppression d'objets spécifiques avec la fonction rm () 227
9.4.3 Enregistrement d'une collection d'objets avec la sauvegarde () Fonction 228
9.4.4 "Qu'est-ce que c'est?" 228
9.4.5 L'existence () Fonction 230


10 ENTRÉE / SORTIE 231
10.1 Accès au clavier et au moniteur 232
10.1.1 Utilisation de la fonction scan () 232
10.1.2 Utilisation de readline () Fonction 234
10.1.3 Impression sur l'écran 234
10.2 Lecture et écriture de fichiers 235
10.2.1 Lecture d'un cadre de données ou d'une matrice à partir d'un fichier 236
10.2.2 Lecture de fichiers texte 237
10.2.3 Introduction aux connexions 237
10.2.4 Exemple étendu: Lecture des fichiers de recensement PUMS 239
10.2.5 Accès aux fichiers sur les machines distantes via les URL 243
10.2.6 Ecriture dans un fichier 243
10.2.7 Obtention d'informations sur les fichiers et les répertoires 245
10.2.8 Exemple étendu: Additionnez le contenu de nombreux fichiers 245
10.3 Accès à Internet 246
10.3.1 Vue d'ensemble de TCP / IP 247
10.3.2 Douilles dans R 247
10.3.3 Exemple étendu: implémentation parallèle R 248


11 MANIPULATION STRING 251
11.1 Vue d'ensemble des fonctions de manipulation des chaînes 251
11.1.1 grep () 252
11.1.2 nchar () 252
11.1.3 coller () 252
11.1.4 sprintf () 253
11.1.5 substr () 253
11.1.6 strsplit () 253
11.1.7 regexpr () 253
11.1.8 gregexpr () 254
11.2 Expressions régulières 254
11.2.1 Exemple étendu: Test d'un nom de fichier pour un suffrage donné 255
11.2.2 Exemple étendu: formation de noms de fichiers 256
11.3 Utilisation de String Utilities dans l'outil de débogage edtdbg 257


GRAPHIQUE 261
12.1 Création de graphiques 261
12.1.1 The Workhorse of R Base Graphics: L'intrigue () Fonction 262
12.1.2 Ajout de lignes: la fonction abline () 263
12.1.3 Démarrage d'un nouveau graphique tout en gardant les anciens 264
12.1.4 Exemple étendu: deux estimations de densité sur le même graphe 264
12.1.5 Exemple étendu: plus sur l'exemple de régression polynomiale .... 266
12.1.6 Ajout de points: les points () Fonction 269
12.1.7 Ajout d'une légende: la légende () Fonction 270
12.1.8 Ajout de texte: le texte () Fonction 270
12.1.9 Points de repérage: le localisateur () Fonction 271
12.1.10 Restauration d'une parcelle 272
12.2 Personnalisation des graphiques 272
12.2.1 Modification des tailles de caractères: l'option Cex 272
12.2.2 Modification de la portée des axes: les options xlim et ylim 273
12.2.3 Ajout d'un polygone: le polygone () Fonction 275
12.2.4 Points de lissage: les fonctions lowess () et loess () 276
12.2.5 Graphique des fonctions explicites 276
12.2.6 Exemple étendu: agrandissement d'une partie d'une courbe 277
12.3 Enregistrer des graphiques dans des fichiers 280
12.3.1 R Graphics Devices 280
12.3.2 Enregistrement du graphique affiché 281
12.3.3 Fermeture d'un périphérique graphique R 281
12.4 Création de tracés tridimensionnels 282


13 DEBUGGING 285
13.1 Principes fondamentaux de débogage 285
13.1.1 L'essence du débogage: le principe de confirmation 285
13.1.2 Démarrer petit 286
13.1.3 Déboguer dans un Modulaire, Top-Do

13.1.4 Antibugging 287
13.2 Pourquoi utiliser un outil de débogage? 287
13.3 Utilisation des installations de débogage R 288
13.3.1 Démarrage unique avec les fonctions debug () et navigateur () 288
13.3.2 Utilisation des commandes du navigateur 289
13.3.3 Définition des points d'arrêt 289
13.3.4 Suivi avec trace () Fonction 291
13.3.5 Effectuer des vérifications après une panne avec le retrait () et le débogueur () Fonction 291
13.3.6 Exemple étendu: Deux sessions de débogage complètes 292
13.4 Déménagement dans le monde: outils de débogage plus pratiques 300
13.5 Assurer la cohérence dans le code de simulation de débogage 302
13.6 Syntaxe et erreurs d'exécution 303
13.7 Exécution de GDB sur R lui-même 303


14 AMÉLIORATION DE LA PERFORMANCE: VITESSE ET MÉMOIRE 305
14.1 Rédaction Fast R Code 306
14.2 The Dreaded for Loop 306
14.2.1 Vectorisation pour Speedup 306
14.2.2 Exemple étendu: Atteindre une meilleure vitesse dans une simulation de Monte Carlo 308
14.2.3 Exemple étendu: génération d'une matrice Powers 312
14.3 Programmation fonctionnelle et problèmes de mémoire 314
14.3.1 Problèmes d'attribution de vecteur 314
14.3.2 Problèmes de copie-sur-changement 314
14.3.3 Exemple étendu: Eviter la copie de mémoire 315
14.4 Utilisation de Rprof () pour trouver des points lents dans votre code 316
14.4.1 Surveillance avec Rprof () 316
14.4.2 Fonctionnement de Rprof () 318
14.5 Compilation de code d'octet 320
14.6 Oh Non, les données ne correspondent pas à la mémoire! 320
14.6.1 Chunking 320
14.6.2 Utilisation des paquetages R pour la gestion de la mémoire 321


15 INTERFACER R AUTRES LANGUES 323
15.1 Ecriture de fonctions C / C ++ à appeler à partir de R 323
15.1.1 Quelques préliminaires R-to-C / C ++ 324
15.1.2 Exemple: Extraction de Subdiagonals à partir d'une matrice carrée 324
15.1.3 Compilation et exécution du code 325
15.1.4 Débogage du code R / C 326
15.1.5 Exemple étendu: prédiction de la série chronologique à durée dissimulée 327
15.2 Utilisation de R à partir de Python 330
15.2.1 Installation de RPy 330
15.2.2 RPy Syntaxe 330


16 PARALLELLE R 333
16.1 Problème de liaison mutuelle 333
16.2 Présentation du forfait neige 334
16.2.1 Code de neige en cours 335
16.2.2 Analyse de la neige Code 336
16.2.3 Combien la vitesse peut-elle être atteinte? 337
16.2.4 Exemple étendu: K-Means Clustering 338
16.3 Resort à C 340
16.3.1 Utilisation de machines multicast 340
16.3.2 Exemple étendu: problème de liaison mutuelle dans OpenMP 341
16.3.3 Exécution du code OpenMP 342
16.3.4 Analyse du code OpenMP 343
16.3.5 Autre OpenMP Pragmas 344
16.3.6 Programmation GPU 345
16.4 Considérations générales relatives au rendement 345
16.4.1 Sources de frais généraux 346
16.4.2 Embarrassant les applications parallèles et celles qui ne sont pas 347
16.4.3 Static Versus Dynamic Task Assignment 348
16.4.4 Alchimie du logiciel: transformer les problèmes généraux en
Embarrassement Parallel Ones 350
16.5 Débogage Parallel R Code 351


A INSTALLATION R 353
A.1 Téléchargement de R de CRAN 353
A.2 Installation à partir d'un gestionnaire de paquetages Linux 353
A. 3 Installation de la source 354
B INSTALLATION ET UTILISATION DES EMBALLAGES 355
B. 1 Principes de base du paquet 355
B.2 Chargement d'un paquetage à partir de votre disque dur 356
B.3 Téléchargement d'un paquet sur le Web 356
B.3.1 Installation automatique des paquetages 356
B.3.2 Installation de paquets manuellement 357
B.4 Liste des fonctions dans un package 358