10 fonctionnalitĂ©s utiles de R que vous ne connaissiez peut-ĂȘtre pas

10 fonctionnalitĂ©s utiles de R que vous ne connaissiez peut-ĂȘtre pas

R regorge de fonctions variĂ©es. Ci-dessous, je vais prĂ©senter dix des plus intĂ©ressantes, dont beaucoup pourraient ne pas avoir connaissance. Cet article est nĂ© aprĂšs avoir rĂ©alisĂ© que mes explications sur certaines fonctionnalitĂ©s d'R que j'utilise dans mon travail sont accueillies avec enthousiasme par des programmeurs que je connais. Si vous ĂȘtes dĂ©jĂ  au courant, je m'excuse pour le temps perdu. Cependant, si vous avez des conseils Ă  partager, n'hĂ©sitez pas Ă  proposer quelque chose d'utile dans les commentaires.

Skillbox recommande : Cours pratique Développeur Python.

Rappelons-le : pour tous les lecteurs de « Habr » — une rĂ©duction de 10 000 roubles lors de l'inscription Ă  tout cours Skillbox avec le code promo « Habr ».

Fonction switch

J'adore vraiment switch(). En fait, c'est une abréviation pratique pour l'opérateur if lorsque l'on choisit une valeur en fonction de la valeur d'une autre variable. Je trouve cela particuliÚrement utile lorsque j'écris un code qui doit charger un ensemble de données spécifique en fonction d'un choix précédent. Par exemple, s'il existe une variable nommée animal et que je dois choisir un ensemble de données selon que l'animal est un chien, un chat ou un lapin, je l'écris comme ceci :

data <- read.csv(
switch(animal,
"dog" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Cette fonctionnalitĂ© sera utile dans les applications Shiny, oĂč il est nĂ©cessaire de charger diffĂ©rents ensembles de donnĂ©es ou fichiers d'environnement en fonction d'un ou plusieurs Ă©lĂ©ments de menu de saisie.

Raccourcis clavier pour RStudio

Ce truc n'est pas tant pour R que pour l'IDE RStudio. Néanmoins, les raccourcis clavier sont toujours trÚs pratiques, car ils permettent de gagner du temps lors de la saisie. Mes favoris sont Ctrl+Shift+M pour l'opérateur %>% et Alt+- pour l'opérateur <-.

Pour consulter tous les raccourcis clavier, il suffit d'appuyer sur Alt+Shift+K dans RStudio.

Package flexdashboard

Lorsqu'il faut rapidement déployer un tableau de bord Shiny, rien ne vaut le package dashboard. Il permet de travailler avec des raccourcis HTML, facilitant ainsi la création sans effort de barres latérales, de rangées et de colonnes. Il est également possible d'utiliser une barre de titre, permettant de la placer sur différentes pages de l'application, d'ajouter des icÎnes, des raccourcis sur Github, des adresses email, et bien d'autres éléments.

Le package permet de travailler dans Rmarkdown, ce qui permet de regrouper toutes les applications dans un seul fichier Rmd, au lieu de les rĂ©partir sur diffĂ©rents serveurs et fichiers UI, comme c'est le cas, par exemple, avec shinydashboard. J’utilise flexdashboard chaque fois que j'ai besoin de crĂ©er un prototype simple de tableau de bord avant de commencer Ă  travailler sur quelque chose de plus complexe. Cette fonctionnalitĂ© permet de prototyper en une heure.

Les fonctions req et validate dans R Shiny

Le dĂ©veloppement dans R Shiny peut ĂȘtre dĂ©routant, surtout lorsque l'on reçoit constamment des messages d'erreur Ă©tranges qui ne permettent pas de comprendre ce qui se passe. Mais avec le temps, Shiny Ă©volue et s'amĂ©liore, de plus en plus de fonctionnalitĂ©s permettent de comprendre la cause des erreurs. Ainsi, req() rĂ©sout le problĂšme d'une erreur 'silencieuse', quand il n'est pas du tout clair oĂč se situe le problĂšme. On peut utiliser cela pour afficher les Ă©lĂ©ments de l'interface utilisateur liĂ©s Ă  des actions antĂ©rieures. Prenons un exemple :

output$go_button <- shiny::renderUI({

# only display button if an animal input has been chosen

shiny::req(input$animal)

# display button

shiny::actionButton("go",
paste("Conduct", input$animal, "analysis!")
)
})

validate() vĂ©rifie tout avant le rendu et permet d’afficher un message d’erreur — par exemple, si l’utilisateur a tĂ©lĂ©chargĂ© un fichier incorrect :

# get csv input file

inFile <- input$file1
data <- inFile$datapath

# render table only if it is dogs

shiny::renderTable({
# check that it is the dog file, not cats or rabbits
shiny::validate(
need("Dog Name" %in% colnames(data)),
"Colonne Dog Name introuvable — avez-vous chargĂ© le bon fichier ?"
)

data
})

Pour plus d'informations sur toutes ces fonctions vous pouvez consulter ici.

Stockez vos informations d'identification dans l'environnement systĂšme

Si vous prévoyez de partager du code nécessitant des informations d'accÚs, utilisez l'environnement systÚme pour éviter de placer vos informations d'identification sur Github ou un autre service. Exemple de stockage :

Sys.setenv(
DSN = "database_name",
UID = "User ID",
PASS = "Password"
)

Vous pouvez maintenant vous connecter en utilisant les variables d'environnement :

db <- DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN"),
uid = Sys.getenv("UID"),
pwd = Sys.getenv("PASS")
)

Il est encore plus pratique (surtout si les données sont souvent utilisées) de les configurer en tant que variables d'environnement directement dans le systÚme d'exploitation. Dans ce cas, elles seront toujours disponibles et vous n'aurez pas à les spécifier dans le code.

Automatisation tidyverse avec styler

Le package styler peut aider à nettoyer le code, car il offre de nombreuses fonctionnalités pour formater automatiquement le style de code dans tidyverse. Il suffit d'exécuter styler::style_file() pour votre script problématique. Le package fera beaucoup de choses (mais pas tout) pour mettre de l'ordre.

Paramétrage des documents R Markdown

Donc, vous avez créé un excellent document R Markdown dans lequel vous analysez divers faits sur les chiens. Puis, l'idĂ©e vous vient qu'il serait peut-ĂȘtre mieux de faire le mĂȘme travail, mais avec des chats. Pas de souci, vous pouvez automatiser la crĂ©ation de rapports sur les chats avec une seule commande. Pour cela, vous devez seulement paramĂ©trer votre document R Markdown.

Cela peut ĂȘtre fait en dĂ©finissant des paramĂštres pour l'en-tĂȘte YAML dans le document spĂ©cifiĂ©, puis en dĂ©finissant les valeurs des paramĂštres.

— title: «Analyse des Animaux»
author: «Keith McNulty»
date: «21 Mars 2019»
output:
html_document:
code_folding: «hide»
params:
animal_name:
value: Chien
choices:
— Chien
— Chat
— Lapin
years_of_study:
input: slider
min: 2000
max: 2019
step: 1
round: 1
sep: »
value: [2010, 2017]
—

Vous pouvez maintenant entrer toutes les variables dans le code du document en tant que params$animal_name et params$years_of_study. Ensuite, utilisez le menu déroulant Knit (ou knit_with_parameters()) et vous aurez la possibilité de sélectionner les paramÚtres.

10 fonctionnalitĂ©s utiles de R que vous ne connaissiez peut-ĂȘtre pas

revealjs

revealjs est un package qui permet de crĂ©er d'excellentes prĂ©sentations HTML avec du code R intĂ©grĂ©, une navigation intuitive et un menu de diapositives. Les raccourcis HTML permettent de crĂ©er rapidement une structure imbriquĂ©e de diapositives avec diffĂ©rents styles. De plus, HTML peut ĂȘtre lancĂ© sur n'importe quel appareil, permettant Ă  la prĂ©sentation d'ĂȘtre ouverte sur chaque tĂ©lĂ©phone, tablette ou ordinateur portable. Les options d'affichage peuvent ĂȘtre configurĂ©es en installant le package et en l'appelant dans l'en-tĂȘte YAML. Voici un exemple :

— title: «Explorer les FrontiĂšres de l'Univers de l'Analyse des Ressources Humaines»
author: «Keith McNulty»
output:
revealjs::revealjs_presentation:
center: oui
template: starwars.html
theme: noir
date: «Rencontre sur l'Analyse des Ressources Humaines Ă  Londres — 18 Mars, 2019»
resource_files:
— darth.png
— deathstar.png
— hanchewy.png
— millenium.png
— r2d2-threepio.png
— starwars.html
— starwars.png
— stormtrooper.png
—

Le code source de la prĂ©sentation est disponible ici, et la prĂ©sentation <a href=«rpubs.com/keithmcnulty/hr_meetup_london‘>est ici.

10 fonctionnalitĂ©s utiles de R que vous ne connaissiez peut-ĂȘtre pas

Les balises HTML dans R Shiny

La plupart des programmeurs n'exploitent pas toutes les possibilités des balises HTML disponibles dans R Shiny. Et pourtant, il y a 110 balises qui offrent la possibilité de créer un appel court pour une fonction HTML ou de reproduire des médias. Par exemple, récemment, j'ai utilisé tags$audio pour jouer un son « victorieux » qui avertissait l'utilisateur de l'achÚvement d'une tùche.

Le package praise

L'utilisation de ce paquet est trÚs simple, et il est destiné à féliciter l'utilisateur. Cela peut sembler étrange, mais en réalité, cela leur plaßt beaucoup.

10 fonctionnalitĂ©s utiles de R que vous ne connaissiez peut-ĂȘtre pas

Skillbox recommande :

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster