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

image

Le R est plein de diverses fonctions. Ci-dessous, je donnerai dix des plus intéressants d'entre eux, que beaucoup ne connaissent peut-être pas. L'article est apparu après avoir découvert que mes histoires sur certaines des fonctionnalités R que j'utilise dans mon travail étaient acceptées avec enthousiasme par les programmeurs familiers. Si vous savez déjà tout à ce sujet, je m'excuse pour le temps passé. Dans le même temps, si vous avez quelque chose à partager, conseillez quelque chose d'utile dans les commentaires.

Skillbox recommande: Tutoriel pour les développeurs Python .

Nous vous rappelons: pour tous les lecteurs de «Habr» - une remise de 10 000 roubles lors de l'inscription à un cours Skillbox en utilisant le code promo «Habr».

Fonction de commutation


J'aime vraiment, vraiment switch (). En fait, il s'agit d'une abréviation pratique de l'instruction if lors du choix d'une valeur en fonction de la valeur d'une autre variable. Je trouve cela particulièrement utile lors de l'écriture de code qui devrait charger un ensemble de données spécifique selon un choix précédent. Par exemple, s'il existe une variable appelée animal et que vous devez sélectionner un ensemble de données spécifique selon que l'animal est un chien, un chat ou un lapin, écrivez ceci:

data <- read.csv (
interrupteur (animal,
"Dog" = "dogdata.csv",
"Cat" = "catdata.csv",
"Rabbit" = "rabbitdata.csv")
)

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

Raccourcis clavier pour RStudio


Ce hack n'est pas tant pour R que pour RStudio IDE. Néanmoins, les touches de raccourci 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 toutes les touches de raccourci, appuyez simplement sur Alt + Maj + K dans RStudio.

Pack Flexdashboard


Lorsque vous devez lancer rapidement le panneau de configuration Shiny, rien de mieux que le package du tableau de bord. Il offre la possibilité de travailler avec des raccourcis HTML, qui à leur tour facilitent la création de barres latérales, de lignes et de colonnes facilement et sans problème. Il y a aussi la possibilité d'utiliser la barre de titre, qui vous permet de la placer sur différentes pages de l'application, de laisser des icônes, des raccourcis sur Github, des adresses e-mail et bien plus encore.

Le package vous permet de travailler dans le cadre de Rmarkdown, de sorte que vous pouvez placer toutes les applications dans un fichier Rmd, plutôt que de les distribuer sur différents serveurs et fichiers d'interface utilisateur, comme cela se fait, par exemple, à l'aide de shinydashboard. J'utilise flexdashboard chaque fois que j'ai besoin de créer un prototype de panneau de contrôle simple avant de commencer à travailler sur quelque chose de compliqué. Cette fonctionnalité vous permet de créer un prototype en une heure.

Demander et valider des fonctions dans R Shiny


Le développement dans R Shiny peut vous embrouiller, surtout lorsque vous recevez constamment des messages d'erreur étranges qui rendent impossible de comprendre 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. Donc, req () résout le problème avec une erreur «silencieuse», alors qu'en général, ce n'est pas clair. Avec lui, vous pouvez afficher les éléments de l'interface utilisateur associés aux actions précédentes. Illustrons par un exemple:

sortie $ go_button <- shiny :: renderUI ({

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

shiny :: req (entrée $ animal)

# bouton d'affichage

shiny :: actionButton ("go",
coller ("Conduite", entrée $ animal, "analyse!")
)
})

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

# obtenir le fichier d'entrée csv

inFile <- entrée $ file1
data <- inFile $ datapath

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

shiny :: renderTable ({
# vérifiez qu'il s'agit de la lime du chien, pas des chats ou des lapins
shiny :: validate (
besoin ("Nom du chien"% en% noms de famille (données)),
"La colonne Nom du chien est introuvable - avez-vous chargé le bon fichier?"
)

les données
})

Vous trouverez plus d'informations sur toutes ces fonctions ici .

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


Si vous prévoyez de partager le code où vous souhaitez entrer les données d'accès, utilisez l'environnement système afin d'éviter de placer vos propres informations d'identification dans Github ou un autre service. Exemple de placement:

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

Vous pouvez maintenant vous connecter en utilisant des 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 vous utilisez fréquemment des 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 spécifier dans le code.

Automatisation Tidyverse avec styler


Le package styler peut aider à nettoyer le code, qui possède de nombreuses fonctionnalités pour convertir automatiquement le style de code en tidyverse. Tout ce qui est nécessaire pour cela est d'exécuter styler :: style_file () pour votre script problématique. Le paquet fera beaucoup (mais pas tout) afin de rétablir l'ordre.

Paramétrage du document R Markdown


Vous avez donc créé un excellent document R Markdown dans lequel vous analysez divers faits sur les chiens. Et puis il vous vient à l'esprit qu'il vaudrait mieux faire le même travail, mais uniquement avec des chats. C'est bon, vous pouvez automatiser le signalement des chats avec une seule commande. Pour ce faire, il vous suffit de paramétrer votre document de démarque R.

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

- titre: "Analyse animale"
auteur: "Keith McNulty"
date: "21 mars 2019"
sortie:
html_document:
code_folding: "cacher"
params:
nom_animal:
valeur: Chien
choix:
- Chien
- chat
- Lapin
années_de_étude:
entrée: curseur
min: 2000
max: 2019
étape: 1
ronde: 1
sep: ''
valeur: [2010, 2017]
---

Vous pouvez maintenant enregistrer toutes les variables dans le code du document en tant que params $ animal_name et params $ years_of_study. Ensuite, nous utiliserons le menu déroulant Knit (ou knit_with_parameters ()) et aurons la possibilité de sélectionner des paramètres.



révéler


révélerjs - un package qui vous permet de créer de superbes présentations HTML avec un code R intégré, une navigation intuitive et des menus de diapositives. Les raccourcis HTML vous permettent de créer rapidement une structure de diapositives imbriquée avec différents styles. Eh bien, HTML s'exécutera sur n'importe quel appareil, de sorte que la présentation peut être ouverte sur chaque 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: "Exporing the Edge of the People Analytics Universe"
auteur: "Keith McNulty"
sortie:
révélerjs :: révélerjs_presentation:
centre: oui
modèle: starwars.html
thème: noir
date: «HR Analytics Meetup London - 18 mars 2019»
fichiers_ressources:
- 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 publié ici , et la présentation <a href=foreign rpubs.com/keithmcnulty/hr_meetup_london'> elle-même est ici.



Balises HTML dans R Shiny


La plupart des programmeurs ne tirent pas pleinement parti des balises HTML de R Shiny. Mais ce ne sont que 110 balises qui permettent de créer un court appel pour une fonction HTML ou une lecture multimédia. Par exemple, j'ai récemment utilisé des balises $ audio pour jouer un son «gagnant», qui a averti l'utilisateur de la fin d'une tâche.

Forfait éloge


L'utilisation de ce package est très simple, mais vous en avez besoin pour faire l'éloge de l'utilisateur. Cela semble étrange, mais ils l'aiment vraiment.



Skillbox recommande:

Source: https://habr.com/ru/post/fr449508/


All Articles