10 fonctionnalités R utiles que vous ne connaissez peut-être pas

10 fonctionnalités R utiles que vous ne connaissez peut-être pas

R regorge de nombreuses fonctions. Ci-dessous, je vais donner dix des plus intéressants d’entre eux, que beaucoup ne connaissent peut-être pas. L'article est paru après que j'ai découvert que mes histoires sur certaines des fonctionnalités de R que j'utilise dans mon travail avaient été accueillies avec enthousiasme par mes collègues programmeurs. Si vous savez déjà tout à ce sujet, je m'excuse de vous faire perdre du temps. En même temps, si vous avez quelque chose à partager, recommandez quelque chose d'utile dans les commentaires.

Skillbox vous recommande : Cours pratique "Développeur Python".

Nous rappelons: pour tous les lecteurs de "Habr" - une remise de 10 000 roubles lors de l'inscription à n'importe quel cours Skillbox en utilisant le code promotionnel "Habr".

fonction de commutation

J'aime vraiment, vraiment switch(). En fait, il s’agit d’un raccourci pratique pour une instruction if lors de la sélection d’une valeur basée sur la valeur d’une autre variable. Je trouve cela particulièrement utile lorsque j'écris du code qui doit charger un ensemble spécifique de données basé sur une sélection précédente. Par exemple, si vous avez une variable nommée animal et que vous souhaitez sélectionner un ensemble de données spécifique selon que l'animal est un chien, un chat ou un lapin, écrivez ceci :

données < — read.csv(
interrupteur (animal,
"chien" = "dogdata.csv",
"cat" = "catdata.csv",
"lapin" = "rabbitdata.csv")
)

Cette fonctionnalité sera utile dans les applications Shiny où vous devez charger différents ensembles de données ou fichiers d'environnement en fonction d'un ou plusieurs éléments du menu de saisie.

Raccourcis clavier pour RStudio

Ce hack n'est pas tant pour R, mais pour RStudio IDE. Cependant, les raccourcis clavier sont toujours très pratiques, vous permettant de gagner du temps lors de la saisie de texte. Mes favoris sont Ctrl+Shift+M pour l’opérateur %>% et Alt+- pour l’opérateur <-.

Pour afficher tous les raccourcis clavier, appuyez simplement sur Alt+Shift+K dans RStudio.

paquet de tableau de bord flexible

Lorsque vous avez besoin de lancer rapidement votre tableau de bord Shiny, il n'y a rien de mieux que le package de tableaux de bord. Il offre la possibilité de travailler avec des raccourcis HTML, ce qui facilite et simplifie la création de barres latérales, de lignes et de colonnes. Il y a aussi la possibilité d'utiliser une barre de titre, qui permet de la placer sur différentes pages de l'application, de laisser des icônes, des raccourcis sur Github, des adresses email et bien plus encore.

Le package vous permet de travailler dans le cadre de Rmarkdown, vous pouvez donc placer toutes les applications dans un seul fichier Rmd et ne pas les distribuer sur différents serveurs et fichiers d'interface utilisateur, comme cela se fait, par exemple, en utilisant Shinydashboard. J'utilise flexdashboard chaque fois que j'ai besoin de créer un prototype de tableau de bord simple avant de travailler sur quelque chose de complexe. Cette fonctionnalité vous permet de créer un prototype en une heure.

demander et valider les fonctions dans R Shiny

Développer dans R Shiny peut être déroutant, surtout lorsque vous continuez à recevoir d'étranges messages d'erreur qui rendent difficile la compréhension de ce qui se passe. Mais au fil du temps, Shiny se développe et s'améliore, de plus en plus de fonctions apparaissent ici qui vous permettent de comprendre la cause de l'erreur. Ainsi, req() résout le problème avec une erreur « silencieuse », alors que ce qui se passe n’est généralement pas clair. Il vous permet d'afficher les éléments de l'interface utilisateur associés aux actions précédentes. Expliquons avec un exemple :

sortie$go_button < — brillant::renderUI({

# bouton d'affichage uniquement si une entrée animal a été choisie

brillant :: req (entrée $ animal)

# bouton d'affichage

brillant::actionButton("aller",
coller("Conduite", input$animal, "analyse !")
)
})

validate() vérifie tout avant le rendu et vous donne la possibilité d'imprimer un message d'erreur - par exemple, indiquant que l'utilisateur a téléchargé le mauvais fichier :

# récupérer le fichier d'entrée csv

inFile < — entrée$file1
données < — inFile$chemin de données

# rendre la table uniquement s'il s'agit de chiens

brillant::renderTable({
# vérifiez qu'il s'agit bien du dossier du chien, pas des chats ou des lapins
brillant :: valider (
besoin("Nom du chien" %in% colnames(data)),
« La colonne Nom du chien est introuvable : avez-vous chargé le bon fichier ? »
)

données
})

Plus d'informations sur toutes ces fonctionnalités peut être trouvé ici.

Stockage de vos informations d'identification pour vous-même dans l'environnement système

Si vous envisagez de partager du code qui nécessite la saisie d'informations d'identification, utilisez l'environnement système pour éviter d'héberger vos propres informations d'identification sur Github ou un autre service. Exemple d'emplacement :

Sys.setenv(
DSN = "nom_base de données",
UID = "ID utilisateur",
PASS = "Mot de passe"
)

Vous pouvez maintenant vous connecter à l'aide des variables d'environnement :

db < — DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN"),
uid = Sys.getenv("UID"),
mot de passe = Sys.getenv("PASS")
)

Il est encore plus pratique (surtout si vous utilisez fréquemment les données) de les définir comme variables d'environnement directement dans le système d'exploitation. Dans ce cas, ils seront toujours disponibles et vous n’aurez pas à les préciser dans le code.

Automatisez Tidyverse avec Styler

Le package styler peut vous aider à nettoyer votre code ; il propose de nombreuses options pour importer automatiquement le style de code dans Tidyverse. Tout ce que vous avez à faire est d'exécuter styler::style_file() sur votre script problématique. Le paquet fera beaucoup (mais pas tout) pour rétablir l’ordre.

Paramétrage des documents R Markdown

Vous avez donc créé un excellent document R Markdown dans lequel vous analysez divers faits sur les chiens. Et puis vous vous rendez compte qu'il vaudrait mieux faire le même travail, mais uniquement avec des chats. Pas de problème, vous pouvez automatiser la création de rapports félins avec une seule commande. Pour ce faire, il vous suffit de paramétrer votre document R markdown.

Vous pouvez le faire en définissant les paramètres de l'en-tête YAML dans le document spécifié, puis en définissant les paramètres de valeur.

— titre : « Analyse animale »
auteur: "Keith McNulty"
date : "21 mars 2019"
sortie:
document_html :
code_folding : "masquer"
paramètres:
nom_animal :
valeur : Chien
les choix:
- Chien
- Chat
- Lapin
années_d_étude :
entrée : curseur
min : 2000
max : 2019
étape 1
tour 1
sep: "
valeur : [2010, 2017] —

Vous pouvez maintenant enregistrer toutes les variables dans le code du document sous les noms params$animal_name et params$years_of_study. Ensuite, nous utiliserons le menu déroulant Knit (ou knit_with_parameters()) et pourrons sélectionner les paramètres.

10 fonctionnalités R utiles que vous ne connaissez peut-être pas

révélerjs

révélationjs est un package qui vous permet de créer de superbes présentations HTML avec du code R intégré, une navigation intuitive et des menus coulissants. Les raccourcis HTML vous permettent de créer rapidement une structure de diapositives imbriquée avec différentes options de style. Eh bien, HTML fonctionnera sur n'importe quel appareil, la présentation peut donc être ouverte sur n'importe quel téléphone, tablette ou ordinateur portable. La divulgation d'informations peut être configurée en installant le package et en l'appelant dans l'en-tête YAML. Voici un exemple :

— titre : « Explorer les limites de l'univers de l'analyse des personnes »
auteur: "Keith McNulty"
sortie:
révélationjs::revealjs_presentation :
centre : oui
modèle : starwars.html
thème : noir
date : « HR Analytics Meetup Londres – 18 mars 2019 »
fichiers_ressources :
— dark.png
- étoile de la mort.png
- hanchewy.png
- millénaire.png
- r2d2-troispio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

Code source de la présentation posté ici, et elle-mêmerpubs.com/keithmcnulty/hr_meetup_london'>présentation - ici.

10 fonctionnalités R utiles que vous ne connaissez peut-être pas

Balises HTML dans R Shiny

La plupart des programmeurs ne profitent pas pleinement des balises HTML dont dispose R Shiny. Mais ce ne sont que 110 balises qui permettent de créer un appel court à une fonction HTML ou à une lecture multimédia. Par exemple, j'ai récemment utilisé tags$audio pour jouer un son de « victoire » qui alertait l'utilisateur lorsqu'une tâche était terminée.

Éloge du forfait

L'utilisation de ce package est très simple, mais il est nécessaire pour faire l'éloge de l'utilisateur. Cela semble étrange, mais ils aiment vraiment ça.

10 fonctionnalités R utiles que vous ne connaissez peut-être pas

Skillbox vous recommande :

Source: habr.com

Ajouter un commentaire