forked from clessn/livre-outils
-
Notifications
You must be signed in to change notification settings - Fork 0
/
chapitre_2.qmd
412 lines (336 loc) · 38.7 KB
/
chapitre_2.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
# Langages de programmation {#sec-chap2}
## Point d'observation: Histoire des langages de programmation pour l'analyse de données
L’histoire des langages de programmation dédiés à l’analyse de données s’inscrit dans une évolution constante des besoins et des méthodes en sciences sociales.
Avant l’ère numérique, l’analyse de données se faisait principalement à la main ou à l’aide de calculatrices mécaniques, avec des méthodes statistiques standardisées mais limitées par la capacité humaine à traiter des volumes massifs d’informations.
Ces contraintes ont poussé les chercheurs à chercher des moyens plus efficaces de manipuler les données, ce qui a ouvert la voie à l’ère informatique et aux premiers logiciels dédiés à la statistique.
Dans les années 1960 et 1970, les premiers langages et logiciels statistiques, tels que kSPSS (1968), SAS (1976), et STATA (1985), ont vu le jour.
Ces outils permettaient aux chercheurs d’automatiser les calculs statistiques complexes sur des ordinateurs de grande taille, en accélérant considérablement les analyses.
Ces logiciels propriétaires ont joué un rôle crucial dans la standardisation de l’analyse statistique en sciences sociales, en offrant des plateformes robustes, mais souvent coûteuses et rigides.
L’émergence de l’open source dans les années 1990, avec des projets tels que Linux et d’autres logiciels libres, a commencé à influencer le domaine de la statistique.
C’est dans ce contexte que le langage R a été créé, en 1993, par Ross Ihaka et Robert Gentleman, à l’université d’Auckland, en Nouvelle-Zélande.
R est basé sur le langage de programmation S, développé chez Bell Labs à la fin des années 1970.
Contrairement à ses prédécesseurs propriétaires, R a été conçu pour être gratuit, flexible et extensible, ce qui en a fait un outil populaire parmi les chercheurs qui cherchaient à personnaliser leurs analyses tout en ayant accès à des ressources communautaires.
R a répondu à un besoin pressant de la communauté scientifique : celui de pouvoir accéder à des outils puissants sans avoir à payer des licences onéreuses, tout en bénéficiant d’une liberté totale dans le développement de nouvelles méthodes d’analyse.
Grâce à sa structure ouverte, R a rapidement évolué dû aux contributions de statisticiens et de programmeurs du monde entier, devenant l’un des langages de programmation les plus populaires pour l’analyse de données.
Aujourd’hui, il est largement utilisé non seulement en sciences sociales, mais aussi en biostatistique, en économie et en science des données.
L’évolution des langages de programmation pour l’analyse de données illustre comment les besoins des chercheurs en termes de flexibilité, d’accessibilité et de partage ont façonné les outils que nous utilisons aujourd’hui.
Au fil des décennies, les langages se sont adaptés aux nouvelles méthodes et à l’augmentation des capacités de calcul, offrant des possibilités toujours plus larges pour l’exploration et l’analyse de données.
## Arpentage et choix éditorial: Pourquoi R?
Il existe deux types de langages de programmation pour analyse de données. Les logiciels à licences comme SAS, STATA et SPSS, et les langages *OpenSource* tels que Python et Julia.
**R** est un langage de programmation *OpenSource* développé par des statisticiens, pour des statisticiens, dans les années 1990 [@tippmann15].
Le langage de programmation **R** a plusieurs avantages qui font de lui un outil puissant et utile pour tout chercheur.
L'un de ses grands avantages est qu'il est *OpenSource*.
Ayant déjà abordé le sujet dans le chapitre précédent, il sera question ici de simplement rappeler les grandes lignes de l'argument, à savoir que :
1) l'*OpenSource* est gratuit d'utilisation;
2) l'*OpenSource* est développé par les utilisateurs et non par des corporations, ce qui lui procure une grande flexibilité; et
3) il permet aux utilisateurs de créer leurs propres fonctions qui répondent à leurs besoins.
À l'inverse, les logiciels à licences sont coûteux, rigides et l'ajout de fonctionnalités se fait par les développeurs internes à la compagnie.
Ces formalités rendent le processus plus lent et réduisent l'éventail des possibilités pour la personne chercheuse.
Ceci étant dit, certains avanceront que c'est justement ce processus interne lent qui assure la validité et la fiabilité des analyses effectuées par SAS, STATA ou SPSS.
Or, dans son livre dédié aux utilisateurs de SPSS et de SAS, @muenchen11 soulève le point que bien souvent, ce sont des individus atomisés qui développent les nouvelles fonctionnalités de ces langages et que le processus de révisions se fait ensuite par des comités internes de testeurs.
Il en va de même pour le développement des *packages* R dans la mesure où ce dernier se voit testé et amendé par plusieurs programmeurs indépendants dans un processus itératif des plateformes telles que GitHub.
De plus, bien des nouvelles techniques statistiques sont développées pour R par des chercheurs qui publient leur travail dans des journaux académiques revus par des pairs, assurant la qualité du procédé.
Le fait que SAS et SPSS permettent à leur utilisateur d'intégrer des routines R à leur programme est un indicateur fort ne serait-ce que de l'utilité de R [@muenchen11].
Le langage de programmation **R** permet également de réaliser une grande quantité de tâches de recherche.
En effet, les personnes programmant en **R** peuvent notamment manipuler et visualiser des données, faire différents types d'analyses, créer des fonctions et faire les automatiser en plus de pouvoir combiner **R** avec certains langages de balisages comme LaTeX, Markdown et HTML.
D'un autre côté, l'utilisation du langage de programmation **R** peut être perçue comme ayant certains inconvénients.
Plusieurs disent que la courbe d'apprentissage peut être plus grande que celle de programmes à licences.
La véracité de cet argument est discutable. Les programmes demandant des licences ont également un coût d'entrée.
De plus, les nouvelles itérations de ces logiciels amènent des changements demandant une période d'adaptation pour la personne chercheuse.
D'autres disent que le développement *OpenSource*, spécifiquement celui du langage de programmation **R**, se fait de façon anarchique.
Cela est davantage une question d'opinion et de conception du monde qu'une vérité.
Le développement de *package* se fait effectivement de manière décentralisée et toute personne sachant programmer en **R** peut collaborer à cette communauté.
Bien qu'il n'y ait pas d'autorité centrale, les *packages* sont regroupés sur le *Comprehensive R Archive Network* (CRAN) (voir le https://cran.r-project.org/ pour plus d'information). Le site a une politique de dépôt stricte, ainsi les *packages* doivent être suffisamment documentés.
Il est également possible d'y télécharger le langage de programmation **R**. Ce langage, ainsi que ces différents *packages*, sont disponible sur Windows, macOS et Linux.
```{r}
#| echo: false
#| warning: false
library(tidyverse)
library(tinytable)
tbl_resume_chap_prog <- tibble(
Critères = c('Accessibilité (Gratuit ou peu dispendieux)',
'Existence d\'une communauté d\'utilisateurs',
'Popularité dans le champ',
'Compatibilité avec d\'autres outils',
'Transparence et réplicabilité',
'Adaptabilité et flexibilité'),
'Logiciels sous licence (SAS, SPSS, STATA)' = c('Non',
'Modérée',
'Élevée dans certains secteurs',
'Bonne',
'Faible',
'Limitée'),
'Python' = c('Oui',
'Très élevée',
'Très populaire',
'Excellente',
'Bonne',
'Très flexible'),
'Julia' = c('Oui',
'En croissance',
'Modérée',
'Bonne',
'Bonne',
'Très flexible'),
'R' = c('Oui',
'Très élevée',
'Très populaire en sciences sociales et statistiques',
'très bonne',
'Très élevée',
'Très flexible')
)
tt(tbl_resume_chap_prog, width = 0.75, caption = 'Résumé des principaux outils de programmation pour l\'analyse de données')
```
## Manuel d'instruction: Apprendre à programmer en R
### Où coder en R ?
Un environnement de développement intégré (IDE) permet aux programmeurs de centraliser les différents aspects de l'écriture d'un programme informatique.
Il permet de réaliser toutes les activités courantes d'un programmeur -- l'édition du code, la construction des exécutables et le débogage -- au même endroit.
Les environnements de développement intégrés sont conçus pour maximiser la productivité des programmeurs.
Ils fournissent de nombreuses fonctionnalités -- notamment la coloration syntaxique (Le surlignage différent pour chaques éléments du code) et le contrôle de version -- pour créer, modifier et compiler du code.
Certains environnements de développement intégré sont dédiés à un langage de programmation spécifique.
Par conséquent, ils contiennent des fonctionnalités qui sont plus adaptées aux paradigmes de programmation du langage auquel ils sont associés.
Enfin, il existe de nombreux environnements de développement intégré multilingues.
Comme mentionné précédemment, R est l'un des langages de statistiques et d'exploration de données les plus populaires en sciences sociales.
R est pris en charge par de nombreux environnements de programmation.
Plusieurs ont été spécialement conçus pour la programmation en R -- le plus notable étant RStudio -- tandis que d'autres sont des environnements de programmation universels -- tels que Visual Studio Code -- qui prennent en charge R via des plugins.
Il est également possible de coder en R à partir d'une interface en ligne de commande.
Une telle méthode permet la communication entre l'utilisateur et son ordinateur.
Cette communication s'effectue en mode texte : l'utilisateur tape une « ligne de commande » -- c'est-à-dire du texte dans la console -- pour demander à son ordinateur d'effectuer une opération précise, telle que l'exécution d'un fichier de code R.
La suite du chapitre présente RStudio, l'interface de développement le plus populaire pour l'utilisation de R.
### Qu'est-ce que RStudio ?
RStudio est un projet open source destiné à regrouper les différentes composantes du langage de programmation R en un seul outil (Allaire, 2011).
RStudio fonctionne sur tous les systèmes d'exploitation, y compris Windows, Mac OS et Linux.
En plus de l'application de bureau, RStudio peut être déployé en tant que serveur pour permettre l'accès Web aux sessions R s'exécutant sur des systèmes distants (Allaire, 2011).
RStudio facilite l'utilisation du langage de programmation R en offrant de nombreux outils permettant à l'utilisateur de réaliser aisément ses tâches.
Parmi les outils les plus utiles, on retrouve notamment une fenêtre d'aide, de la documentation sur les différents packages R, un navigateur de l'environnement de travail, une visionneuse de données, ainsi que la prise en charge de la coloration syntaxique (Horton, Kleinman, 2015).
De plus, RStudio permet de coder dans plusieurs langages et de gérer une grande variété de formats.
Il offre également un support pour plusieurs projets ainsi qu'une interface permettant l'utilisation de systèmes de contrôle de version, tels que GitHub (Horton, Kleinman, 2015).
RStudio présente plusieurs avantages. Son utilisation est facile à apprendre pour les débutants.
Les principaux éléments d'un IDE sont intégrés dans une interface à quatre volets (Verzani, 2011).
Cette disposition comprend une console, un éditeur de code source à onglets pour organiser les fichiers d'un projet, un espace dédié à l'environnement de travail, et un quatrième volet permettant d'afficher des graphiques ou de consulter la documentation sur les différents packages.
Ce volet permet également d'accéder au répertoire des packages disponibles pour R et à l'arborescence des fichiers de l'utilisateur.
De plus, il est possible de créer plusieurs espaces de travail -- appelés projets -- facilitant l'organisation des différents workflows.
Il existe plusieurs autres aspects de RStudio que les programmeurs apprécient.
Parmi eux, le fait que l'application peut être utilisée via un navigateur Web pour un accès à distance (Verzani, 2011).
De plus, RStudio prend en charge plusieurs langages de programmation ainsi que différents langages de balisage.
Qui plus est, de nouvelles fonctionnalités sont régulièrement ajoutées pour répondre aux besoins de la communauté scientifique.
Enfin, le logiciel R lui-même est souvent mis à jour.
Parmi ce que certains considèrent comme les points faibles de RStudio, on retrouve des éléments liés à la configuration.
Certains utilisateurs trouvent que le nombre de raccourcis est limité.
D'autres jugent que l'organisation des différents panneaux n'est pas ergonomique, ou que la personnalisation de l'environnement de programmation est insuffisante.
De plus, certains utilisateurs ont rapporté que RStudio était plus lent que d'autres alternatives pour certaines opérations, notamment celles impliquant de longs scripts.
### Comment utiliser RStudio ?
Bien que de nombreux éléments puissent être personnalisés, la disposition par défaut de RStudio est composée de quatre volets principaux (Verzani, 2011).
Dans le coin supérieur gauche se trouve le volet principal.
C'est dans celui-ci que l'utilisateur passera la majeure partie de son temps.
On y modifie des fichiers de différents formats et il est possible d'y afficher des bases de données.
Dans le coin inférieur gauche se trouvent la console et le terminal. Dans la console, on peut interagir avec R de la même manière que dans le volet principal, mais le code ne sera pas enregistré.
Le terminal, quant à lui, est le point d'accès pour la communication entre l'utilisateur et son ordinateur.
Bien que les différents systèmes d'exploitation soient livrés avec un terminal intégré, il est également possible d'y accéder à partir de RStudio.
Dans le coin supérieur droit, on retrouve l'espace de travail.
Ce volet contient trois éléments : l'environnement global, l'historique et les connexions.
L'environnement global est l'endroit où l'utilisateur peut voir les bases de données, les fonctions et les différents autres objets R actifs.
Il peut cliquer sur les divers éléments actifs pour les consulter.
L'onglet historique permet à l'utilisateur de consulter les derniers morceaux de code R qu'il a exécutés ainsi que les dernières commandes saisies dans la console.
L'onglet connexions, quant à lui, permet de connecter l'IDE à une variété de sources de données et d'explorer les objets et données qu'elles contiennent.
Il est conçu pour fonctionner avec divers outils permettant de travailler avec des bases de données en R dans RStudio.
Le volet dans le coin inférieur droit, quant à lui, contient plusieurs outils très utiles pour les utilisateurs de RStudio.
L'onglet Files permet de naviguer dans les fichiers présents sur l'ordinateur sans avoir à quitter RStudio.
L'onglet Plots permet de visualiser les graphiques générés à partir de R, que ce soit en utilisant ggplot2, lattice ou base R.
L'onglet Packages permet de consulter les packages installés précédemment par l'utilisateur et d'en consulter la documentation.
C'est aussi un des endroits où il est possible d'installer des packages avec RStudio.
L'onglet Help permet à l'utilisateur de rechercher et de consulter de la documentation sur de nombreux sujets, notamment sur les différentes fonctions en R ainsi que sur les packages.
L'onglet Viewer, quant à lui, permet de visualiser du contenu web local.
Enfin, l'utilisateur peut modifier les dimensions par défaut de chacun des quatre volets principaux.
En cliquant sur la séparation entre les sections, il est possible d'ajuster la répartition horizontale de l'espace.
De plus, chaque côté dispose d'une autre séparation permettant d'ajuster l'espace vertical.
Qui plus est, la barre de titre de chaque volet comporte des icônes pour réduire un composant, maximiser un volet verticalement ou modifier la taille de l'espace de travail (Verzani, 2011 ; Nierhoff et Hillebrand, 2015).
## Conclusion
Le langage de programmation R est un outil très utile pour toutes sortes de tâches, notamment liées aux statistiques et à la visualisation graphique.
Sa maîtrise est requise pour accéder à plusieurs emplois, tant dans le monde académique que dans les secteurs public et privé.
Nous espérons que le présent chapitre vous a éclairé sur son utilité et sa pertinence dans le monde du travail contemporain.
Bien que le langage de programmation R ne doive pas obligatoirement être utilisé avec RStudio, nous pensons que, pour la plupart des utilisateurs, leur utilisation conjointe est bénéfique et recommandée.
RStudio permet également d'utiliser différents langages de balisage compatibles avec R, facilitant ainsi l'utilisation de plusieurs outils complémentaires.
L'apprentissage du langage de programmation R apparaît également comme une valeur sûre.
Sa longévité dans plusieurs domaines ainsi que la forte croissance de sa base d'utilisateurs laissent présager que connaître au moins les bases de R constitue un énorme avantage pour tout le monde.
Pour ceux qui sont particulièrement intéressés par le langage de programmation R et qui souhaitent s'impliquer dans sa communauté, il existe plusieurs conférences internationales et nationales sur R -- notamment RConference et useR! -- ainsi qu'un journal académique, The R Journal.
On retrouve également différentes communautés, telles que R-Ladies, qui mettent de l'avant la diversité des genres dans la communauté du langage de programmation R.
Le langage de programmation R est plus qu'un simple outil statistique, il est au centre d'une grande communauté de personnes qui ont à cœur des principes liés à l'inclusion et à l'avancement humain.
<!-- Ancien texte
## R ou ne pas R? {#sec-chap4}
Plusieurs notions liées à l'ère numérique, notamment à ce qui a trait aux opportunités et difficultés que cette dernière peut amener, ont été présentées par l'entremise du chapitre précédent.
C'est un monde de possibilité qui s'offre à ceux qui maîtrisent les nouveaux outils des temps modernes.
Mais comment en arriver là ? Le présent chapitre a pour but de présenter certains outils flexibles et péreins permettant la réalisation de nombreuses tâches.
Une des premières étapes permettant de notamment réaliser la collecte, l'analyse et la visualisation graphique de données ainsi que la rédaction de documents est l'apprentissage d'un langage de programmation.
Bien que plusieurs langages de programmation existent, le présent ouvrage priorise le langage **R**.
Les sections suivantes présentent ce langage de programmation, ces forces et ces faiblesses ainsi que les raisons de son utilisation.
Enfin, la dernière section présente un environnement de programmation qui se prête bien à son utilisation.
## Pourquoi R?
Comme mentionné précédemment, il existe plusieurs langages de programmation.
**R** a deux types de compétiteurs : les logiciels à licences comme SAS, STATA et SPSS, et les langages *OpenSource* tels que Python et Julia.
**R** est un langage de programmation *OpenSource* développé par des statisticiens, pour des statisticiens, dans les années 1990 [@tippmann15].
**R** prend ses racines dans le langage de programmation S, créé notamment par Ross Ihaka et Robert Gentleman.
Ces derniers ont fait des choix non orthodoxes lors de l'élaboration du langage, qui font aujourd'hui la popularité de ce logiciel auprès d'un large pan de la communauté académique.
En effet, @morandat_etal12 rapporte que le langage a été élaboré afin qu'il soit intuitif et qu'il permette aux nouveaux utilisateurs de rapidement réaliser des analyses.
Le langage de programmation **R** a plusieurs avantages qui font de lui un outil puissant et utile pour tout chercheur.
L'un de ses grands avantages est qu'il est *OpenSource*.
Ayant déjà abordé le sujet dans le chapitre précédent, il sera question ici de simplement rappeler les grandes lignes de l'argument, à savoir que :
1) l'*OpenSource* est gratuit d'utilisation;
2) l'*OpenSource* est développé de façon bottom-up, ce qui lui procure une grande flexibilité; et
3) il permet aux utilisateurs de créer leurs propres fonctions.
À l'inverse, les logiciels à licences sont coûteux, rigides et l'ajout de fonctionnalités se fait par les développeurs internes à la compagnie.
Ces formalités rendent le processus plus lent et réduisent l'éventail des possibilités pour la personne chercheuse.
Ceci étant dit, certains avanceront que c'est justement ce processus interne lent qui assure la validité et la fiabilité des analyses effectuées par SAS, STATA ou SPSS.
Or, dans son livre dédié aux utilisateurs de SPSS et de SAS, @muenchen11 soulève le point que bien souvent, ce sont des individus atomisés qui développent les nouvelles fonctionnalités de ces langages et que le processus de révisions se fait ensuite par des comités internes de testeurs.
Il en va de même pour le développement des *packages* R dans la mesure où ce dernier se voit testé et amendé par plusieurs programmeurs indépendants dans un processus itératif des plateformes telles que GitHub.
De plus, bien des nouvelles techniques statistiques sont développées pour R par des chercheurs qui publient leur travail dans des journaux académiques revus par des pairs, assurant la qualité du procédé.
Le fait que SAS et SPSS permettent à leur utilisateur d'intégrer des routines R à leur programme est un indicateur fort ne serait-ce que de l'utilité de R [@muenchen11].
Le langage de programmation **R** permet également de réaliser une grande quantité de tâches de recherche.
En effet, les personnes programmant en **R** peuvent notamment manipuler et visualiser des données, faire différents types d'analyses, créer des fonctions et faire des boucles en plus de pouvoir combiner **R** avec certains langages de balisages.
D'un autre côté, l'utilisation du langage de programmation **R** peut être perçue comme ayant certains inconvénients.
Plusieurs disent que la courbe d'apprentissage peut être plus grande que celle de programmes à licences.
La véridicité de cet argument est discutable. Les programmes demandant des licences ont également un coût d'entrée.
De plus, les nouvelles itérations de ces logiciels amènent des changements demandant une période d'adaptation pour la personne chercheuse.
D'autres disent que le développement *OpenSource*, spécifiquement celui du langage de programmation **R**, se fait de façon anarchique.
Cela est davantage une question d'opinion et de conception du monde qu'une vérité.
Le développement de *package* se fait effectivement de manière décentralisée et toute personne sachant programmer en **R** peut collaborer à cette communauté.
Bien qu'il n'y ait pas d'autorité centrale, les *packages* sont regroupés sur le *Comprehensive R Archive Network* (CRAN) (voir le https://cran.r-project.org/ pour plus d'information). Le site a une politique de dépôt stricte, ainsi les *packages* doivent être suffisamment documentés.
Il est également possible d'y télécharger le langage de programmation **R**. Ce langage, ainsi que ces différents *packages*, sont disponible sur Windows, macOS et Linux.
## Où coder en R ?
Un environnement de développement intégré (IDE) permet aux programmeurs de consolider les différents aspects de l'écriture d'un programme informatique.
Ils permettent de réaliser toutes les activités courantes d'un programmeur -- l'édition du code, la construction des exécutables et le débogage -- au même endroit.
Les environnements de développement intégrés sont conçus pour maximiser la productivité du programmeur.
Ils fournissent de nombreuses fonctionnalités -- notamment la coloration syntaxique ainsi que le contrôle de version -- pour créer, modifier et compiler du code.
Certains environnements de développement intégré sont dédiés à un langage de programmation spécifique.
Par conséquent, ils contiennent des fonctionnalités qui sont plus compatibles avec les paradigmes de programmation du langage auquel ils sont associés.
Enfin, il existe de nombreux environnements de développement intégré multilingues.
Comme mentionné précédemment, R est un des langages de statistiques et d'exploration de données les plus populaires en sciences sociales.
R est pris en charge par de nombreux environnements de programmation.
Plusieurs ont été spécialement conçus pour la programmation en R -- le plus notable étant RStudio -- tandis que d'autres sont des environnements de programmation universels -- tels que Visual Studio Code -- et prennent en charge R via des plugins.
Il est également possible de coder en R à partir d'une interface en ligne de commande.
Une telle méthode permet la communication entre l'utilisateur et son ordinateur.
Cette communication s'effectue en mode texte : l'utilisateur tape une « ligne de commande » -- c'est-à-dire du texte dans le *terminal* -- pour demander à son ordinateur d'effectuer une opération précise, telle que rouler un fichier de code R.
La suite du chapitre présente RStudio, notamment à travers ses avantages et inconvénients, mais également des exemples de ses fonctionnalités.
## Qu'est-ce que RStudio ?
RStudio est un projet open source destiné à combiner les différentes composantes du langage de programmation R en un seul outil (Allaire, 2011).
RStudio fonctionne sur tous les systèmes d'exploitation, y compris Windows, Mac OS et Linux.
En plus de l'application de bureau, RStudio peut être déployé en tant que serveur pour permettre l'accès Web aux sessions R s'exécutant sur des systèmes distants (Allaire, 2011).
RStudio facilite l'utilisation du langage de programmation R en offrant de nombreux outils permettant à son utilisateur d'aisément réaliser ses tâches.
Parmi les plus utiles, on retrouve notamment une fenêtre d'aide, de la documentation sur les différents packages R, un navigateur d'espace de travail, une visionneuse de données et une prise en charge de la coloration syntaxique (Horton, Kleinman, 2015).
De plus, RStudio permet de coder dans plusieurs langages et de supporter une grande quantité de formats.
Il fournit également un support pour plusieurs projets ainsi qu'une interface pour utiliser des systèmes de contrôle, tels que GitHub (Horton, Kleinman, 2015).
RStudio a plusieurs avantages. Son utilisation est facile à apprendre pour les débutants.
Les principaux éléments d'un IDE sont intégrés dans une disposition à quatre volets (Verzani, 2011).
Cette disposition comprend une console, un éditeur de code source à onglets pour organiser les fichiers d'un projet, un espace pour l'environnement de travail et un quatrième volet où il est notamment possible d'afficher des graphiques ou de la documentation sur différents packages.
Ce volet permet d'ailleurs d'accéder au répertoire des *packages* disponibles pour *R* en plus de permettre à l'utilisateur de consulter l'arborescence de ses fichiers.
De plus, on y retrouve la possibilité de créer plusieurs espaces de travail -- appelés projets -- qui facilitent l'organisation de différents *workflows*.
Il y a plusieurs autres aspects de RStudio que les programmeurs apprécient.
Parmi ceux-ci se trouve le fait qu'il peut être utilisé via un navigateur Web pour un accès à distance (Verzani, 2011).
De plus, RStudio supporte plusieurs langages de programmation ainsi que différents langages de balisage.
Qui plus est, de nouvelles fonctionnalités sont régulièrement ajoutées pour satisfaire les besoins de la communauté scientifique.
Enfin, R logiciel est également souvent mis à jour.
Parmi ce que certains considèrent comme étant les points faibles de RStudio, on retrouve des éléments liés à la configuration.
Certains utilisateurs trouvent que le nombre de raccourcis est limité.
D'autres trouvent que le *set up* des différents panneaux n'est pas ergonomique, ou même qu'il n'est pas possible de pouvoir suffisamment personnaliser l'environnement de programmation.
De plus, certains utilisateurs ont rapporté que RStudio était plus lent que d'autres alternatives pour quelques opérations, surtout celles comprenant de longs codes.
## Comment utiliser RStudio ?
Bien que de nombreux éléments puissent être personnalisés, la disposition par défaut de RStudio est composée de quatre volets principaux (Verzani, 2011).
Dans le coin supérieur gauche se trouve le cadran principal.
C'est dans celui-ci que l'utilisateur passera la plus grande partie de son temps.
On y modifie des fichiers de différents formats et il est possible d'y afficher des bases de données.
Dans le coin inférieur gauche se trouve la console ainsi que le terminal. Dans cette première, on peut interagir avec R de la même manière que dans le cadran principal, mais le code ne sera pas enregistré.
Le terminal, pour sa part, est le point d'accès de communication entre un usager et son ordinateur.
Bien que les différents systèmes d'exploitation viennent avec un terminal déjà intégré, il est aussi possible d'y accéder à partir de RStudio.
On retrouve, dans le coin supérieur droit, l'espace de travail.
Ce cadran contient trois éléments :
l'*environnement global, l'historique et les connections*.
L'*environnement global* est l'endroit où l'utilisateur peut voir les bases de données, les fonctions et les différents autres objets R qui sont actifs.
Il peut cliquer sur les divers éléments actifs pour les consulter.
L'onglet *historique* permet à l'utilisateur de consulter les derniers morceaux de code R qu'il a roulé ainsi que les dernières commandes écrites dans la console.
L'onglet *connections*, pour sa part, permet de connecter son IDE à une variété de sources de données et d'explorer les objets et les données qui la composent.
Il est conçu pour fonctionner avec une variété d'autres outils pour travailler avec des bases de données en R dans RStudio.
Le cadran dans le coin inférieur droit, pour sa part, contient plusieurs outils très utiles pour les usagers de RStudio.
L'onglet *Files* permet à l'utilisateur de naviguer dans les fichiers que contient son ordinateur sans avoir à sortir de RStudio.
L'onglet *Plots* permet de visualiser les graphiques générer à partir de R, que ce soit en utilisant *ggplot2, lattice ou base R*.
L'onglet *Packages* permet de consulter les packages installés précédemment par l'utilisateur en plus de pouvoir en consulter la documentation.
C'est aussi un des différents endroits à partir d'où il est possible d'installer des packages avec RStudio.
L'onglet *Help* permet à l'utilisateur de chercher et de consulter de la documentation sur de nombreux sujets, notamment sur les différentes fonctions en R ainsi que sur les packages.
Pour sa part, l'onglet *Viewer* permet la visualisation de contenu web local.
Enfin, l'utilisateur peut modifier les dimensions par défaut pour chacun des quatre cadrans principaux.
En cliquant sur la division des sections, il est possible d'ajuster l'allocation horizontale de l'espace.
De plus, chaque côté dispose d'un autre séparateur pour ajuster l'espace vertical.
Qui plus est, la barre de titre de chaque cadran comporte des icônes pour ombrer un composant, maximiser un cadran verticalement ou modifier la taille des l'espace de travail (Verzani, 2011; Nierhoff et Hillebrand, 2015).
## Conclusion
Le langage de programmation R est un outil très utile pour toutes sortes de tâches notamment reliées aux statistiques et à la visualisation graphiques.
Sa maîtrise est requise pour accéder à plusieurs emplois, autant dans le monde académique que dans les secteurs publics et privés.
Avec un peu de chance, le présent chapitre vous a éclairé sur son utilité et sa pertinence dans le monde du travail contemporain.
Bien que le langage de programmation R ne doivent pas obligatoirement être utilisé avec RStudio, nous pensons que pour la plupart des usagers, leur utilisation conjointe est bénéfique et souhaitée.
RStudio permet également d'utiliser différents langages de balisage compatibles avec R, facilitant l'utilisation de plusieurs outils complémentaires.
L'apprentissage du langage de programmation R apparaît également être une valeur sure.
Sa longitivité dans plusieurs sphères ainsi que la forte croissance de sa base d'usagers laisse présager que d'en connaître au moins les bases est un énorme avantage pour tout le monde.
Pour ceux qui sont particulièrement intéressés par le langage de programmation R et qui désirent s'impliquer dans sa communauté, il existe plusieurs conférences internationales et nationales sur R -- notamment *RConference* and *useR!* -- et un journal académique, *The R Journal*.
On retrouve également différentes communautés telle que *R-Ladies* qui met de l'avant la diversité des genres dans la communauté du langage de programmation R.
Le langage de programmation R est plus qu'un simple outil statistique, il est le centre d'une grande communauté de gens qui ont à coeur des principes liés à l'inclusion et à l'avancement humain.
-->
<!-- Commentaires de d'autres auteurs.
Sans vouloir vous déléguer notre tâche, nous avons quelques suggestions pour vous. Tout d’abord, l’une des bases du livre est la philosophie du logiciel libre et sur les avantages pratiques de l’open source. Le logiciel libre repose sur ces 4 libertés:
liberté d’utiliser le programme comme désiré;
liberté d’étudier le fonctionnement du programme et de le modifier pour ses propres besoins;
liberté de redistribuer des copies;
liberté de distribuer des copies de la version “améliorer” du programme pour ses pairs
Concernant l’open source, tout logiciel qui souhaite être inclus sous cette appellation doit respecter dix critères:
Redistribution gratuite;
doit inclure le code source;
doit permettre les modifications et les travaux dérivés;
intégrité du code source;
ne doit pas discriminer des personnes et/ou groupes;
ne doit pas restreindre personne dans l’utilisation du logiciel pour un domaine d’activité;
distribution d’une licence pour l’utilisation;
la licence ne doit pas être spécifique pour un produit;
la licence ne doit pas placer de restriction sur d’autres programmes;
la licence doit être technologiquement neutre
Ces différents éléments doivent guider votre réflexion, sans pour autant être des absolues. De plus,
@adri
nous a déjà suggéré des critères à partir desquels vous pouvez réfléchir:
Logiciel payant VS logiciel libre (on donne un +++ au libre/gratuit?)
Compatibilité avec les autres outils de notre trousse (Ex: Quarto/Markdown qu’on peut insérer du code et exporter en word)
Portée de l’utilisation dans le domaine (ex: R est le plus utilisé en science sociale, faudrait présenter des chiffres tho)
Réseau d’utilisateur et d’aide sur le Web (ex: full d’aide sur LaTeX, moins pour Quarto)
Difficulté initiale d’apprentissage (R est dur)
Étendu des possibilités (5 et 6, c’est genre la «courbe d’apprentissage, mais que j’ai divisé en 2. R est dur, mais les possibilités sont infinies).
Finalement, afin de contribuer à vos réflexions, je vous propose deux critères plus généraux, à partir desquels on peut dériver plusieurs arguments et/ou implications:
Accessibilité et (popularité) utilisation.
Gratuité de l’outil, ou du moins pas trop dispendieux
Collaboration et entraide entre les utilisateurs (existence de réseaux d’utilisateurs qui se partagent leurs problèmes et solutions)
Popularité de l’utilisation dans un domaine scientifique
Favorise transparence de la science
Communication et partage du savoir (open access)
Partage des données et des analyses (GitHub)
Adaptabilité de l’outil
Peut-on le modifier et l’adapter à ses propres besoins?p
-->
<!-- Ajouter un aspect sur les critères généraux de choix d'un langage de programmation
En science sociale pour tes besoins R fait la job. R fonctionne avec d'autres outils comme markdown mais aussi c'Est le langage de programmation
Comprendre du code, répliquer du code, partager du code, en science politique ça se fait en R -
Quand tu utilise R tu fais partie de la communauté de science politique. Utiliiser R c'est participer à la communauté -->
<!-- On peut coder ou on veut dans R, dans une console, un bloc note, dans VIM, EMACS, dans VSCODE, N'importe ou. Bien que RStudio soit un environnement de développement concu spécifiquement pour R et offre plusieurs outils concus spécifiquement pour l'utilisation en R. Il existe d'autre IDE qui peuvent faire la job. VSCODE est bien pour faire le pont entre les autres langages de programmation -->
<!-- Un outil important c'est l'ordinateur. Sans l'ordinateur, tous les outils mentionné dans ce livre sont inutilisables. La programmation est la façon optimale de communiquer directement avec l'ordinateur et tous ses composantes. Les langages de programmation sont la façon de communiquer avec le processeur. De lui envoyer des instruction, de le faire travailler pour sois. Un bon langage de programmation repose sur 4 libertés.
Discuter des 4 libertés> surtout des deux premières
Les raisons pour choisir un langage:
lister
POur l'analyse de données, plsueirus langages peuvent permettre: Python est le plus populaire, Julia est en hausse, R est sick
Nous faisons le choix de vous proposer d'utiliser R-->
<!-- Ajouter une photo ou deux des fenêtre, ou on decrit les quadrants
Possible d'utiliser TAB pour utiliser l'explorateur de fichier.
Faire des encadrés avec les raccourcis
Un avec des astuces genre faire attention aux serpents
1. Essayer d'apprendre plusieurs langages de programmation en même temps. Commencer avec un et maitrisez le. Ensuite en apprendre un sera un jeu d'enfant
2. Sentiment de devoir cacher du code comme si c'était ta propriété.
3. La peur de demander de l'aide.
4. Trop demander d'aider sans chercher à comprendre.
5. C'est nécessaire de struggle pour apprendre
6. La résolution de problème en programmation
7. Comprendre que quand ça marche pas c'est pas de la faute au code. C'est de la faute de l'usager. Si ton ordinateur ne fait pas ce que tu lui demande c'est que tu ne demande pas la bonne chose.
8. La boucle des tutoriels infini. Il faut sortir de l'environnement de pouponnage.
Faire des Rproj
-->