10 utili funzionalità di R che potresti non conoscere

10 utili funzionalità di R che potresti non conoscere

R è pieno di una varietà di funzioni. Di seguito ne fornirò dieci tra i più interessanti, che molti potrebbero non conoscere. L'articolo è apparso dopo che ho scoperto che le mie storie su alcune delle funzionalità di R che utilizzo nel mio lavoro sono state accolte con entusiasmo da altri programmatori. Se sai già tutto di questo, allora mi scuso per averti fatto perdere tempo. Allo stesso tempo, se hai qualcosa da condividere, consigliaci qualcosa di utile nei commenti.

Skillbox consiglia: Corso pratico "Sviluppatore Python".

Ti ricordiamo: per tutti i lettori di "Habr" - uno sconto di 10 rubli al momento dell'iscrizione a qualsiasi corso Skillbox utilizzando il codice promozionale "Habr".

funzione di interruttore

Mi piace davvero tanto switch(). In effetti, è una comoda abbreviazione per un'istruzione if quando si seleziona un valore in base al valore di un'altra variabile. Lo trovo particolarmente utile quando scrivo codice che deve caricare un set specifico di dati in base a una selezione precedente. Ad esempio, se hai una variabile denominata animale e desideri selezionare un insieme specifico di dati a seconda che l'animale sia un cane, un gatto o un coniglio, scrivi quanto segue:

dati < — leggi.csv(
interruttore(animale,
"cane" = "datidog.csv",
"gatto" = "catdata.csv",
"coniglio" = "rabbitdata.csv")
)

Questa funzionalità sarà utile nelle applicazioni Shiny in cui è necessario caricare diversi set di dati o file di ambiente a seconda di una o più voci del menu di input.

Tasti di scelta rapida per RStudio

Questo hack non è tanto per R, ma per l'IDE RStudio. Tuttavia, i tasti di scelta rapida sono sempre molto comodi e consentono di risparmiare tempo durante l'immissione del testo. I miei preferiti sono Ctrl+Shift+M per l'operatore %>% e Alt+- per l'operatore <-.

Per visualizzare tutti i tasti di scelta rapida, premere semplicemente Alt+Shift+K in RStudio.

pacchetto flexdashboard

Quando devi avviare rapidamente la tua dashboard Shiny, non c'è niente di meglio del pacchetto dashboard. Fornisce la possibilità di lavorare con scorciatoie HTML, che a loro volta rendono semplice e senza problemi la creazione di barre laterali, righe e colonne. C'è anche la possibilità di utilizzare una barra del titolo, che consente di posizionarla su diverse pagine dell'applicazione, lasciare icone, scorciatoie su Github, indirizzi email e molto altro.

Il pacchetto ti consente di lavorare nell'ambito di Rmarkdown, in modo da poter inserire tutte le applicazioni in un file Rmd e non distribuirle su diversi server e file dell'interfaccia utente, come avviene, ad esempio, utilizzando ShinyDashboard. Utilizzo flexdashboard ogni volta che devo creare un semplice prototipo di dashboard prima di lavorare su qualcosa di complesso. Questa funzionalità ti consente di creare un prototipo entro un'ora.

req e convalidare le funzioni in R Shiny

Sviluppare in R Shiny può creare confusione, soprattutto quando continui a ricevere strani messaggi di errore che rendono difficile capire cosa sta succedendo. Ma nel tempo, Shiny si sviluppa e migliora, qui compaiono sempre più funzioni che ti permettono di capire la causa dell'errore. Quindi, req() risolve il problema con un errore “silenzioso”, quando generalmente non è chiaro cosa sta succedendo. Ti consente di visualizzare gli elementi dell'interfaccia utente associati alle azioni precedenti. Spieghiamo con un esempio:

output$go_button < — Shiny::renderUI({

# pulsante di visualizzazione solo se è stato scelto l'ingresso di un animale

lucido::req(input$animale)

# pulsante di visualizzazione

lucido::actionButton("vai",
paste("Condotta", input$animale, "analisi!")
)
})

validate() controlla tutto prima del rendering e ti dà la possibilità di stampare un messaggio di errore, ad esempio che l'utente ha caricato il file sbagliato:

# ottieni il file di input csv

inFile < — input$file1
dati < — inFile$percorsodati

# esegue il rendering della tabella solo se si tratta di cani

lucido::renderTable({
# controlla che sia la cartella del cane, non quella dei gatti o dei conigli
lucido::validate(
need("Nome del cane" %in% colnames(dati)),
"Colonna Nome cane non trovata: hai caricato il file giusto?"
)

dati
})

Ulteriori informazioni su tutte queste funzionalità può essere trovato qui.

Memorizzare le tue credenziali per te stesso nell'ambiente di sistema

Se prevedi di condividere codice che richiede l'immissione di credenziali, utilizza l'ambiente di sistema per evitare di ospitare le tue credenziali su Github o su un altro servizio. Posizionamento di esempio:

Sys.setenv(
DSN = "nome_database",
UID = "ID utente",
PASS = "Password"
)

Ora puoi accedere utilizzando le variabili di ambiente:

db < — DBI::dbConnetti(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN"),
uid = Sys.getenv("UID"),
pwd = Sys.getenv("PASSATO")
)

È ancora più comodo (soprattutto se si utilizzano frequentemente i dati) impostarli come variabili d'ambiente direttamente nel sistema operativo. In questo caso saranno sempre disponibili e non dovrai specificarli nel codice.

Automatizza tidyverse con lo styler

Il pacchetto styler può aiutarti a ripulire il tuo codice; ha molte opzioni per portare automaticamente lo stile del codice in tidyverse. Tutto quello che devi fare è eseguire styler::style_file() sul tuo script problematico. Il pacchetto farà molto (ma non tutto) per riportare l’ordine.

Parametrizzazione dei documenti R Markdown

Quindi hai creato un ottimo documento R Markdown in cui analizzi vari fatti sui cani. E poi ti viene in mente che sarebbe meglio fare lo stesso lavoro, ma solo con i gatti. Nessun problema, puoi automatizzare la creazione delle segnalazioni sui gatti con un solo comando. Per fare ciò, devi solo parametrizzare il tuo documento R markdown.

Puoi farlo impostando i parametri per l'intestazione YAML nel documento specificato e quindi impostando i parametri del valore.

— titolo: “Analisi sugli animali”
autore: "Keith McNulty"
data: "21 marzo 2019"
produzione:
documento_html:
code_folding: "nascondi"
parametri:
nome_animale:
valore: cane
scelte:
-Cane
-Gatto
- Coniglio
anni_di_studio:
ingresso: cursore
minimo: 2000
max: 2019
passo 1
tondo: 1
settembre: "
valore: [2010, 2017] —

Ora puoi registrare tutte le variabili nel codice del documento come params$animal_name e params$years_of_study. Quindi utilizzeremo il menu a discesa Knit (o knit_with_parameters()) e saremo in grado di selezionare i parametri.

10 utili funzionalità di R che potresti non conoscere

rivelajs

rivelajs è un pacchetto che ti consente di creare fantastiche presentazioni HTML con codice R integrato, navigazione intuitiva e menu a scorrimento. Le scorciatoie HTML ti consentono di creare rapidamente una struttura di diapositive nidificate con diverse opzioni di stile. Bene, l'HTML funzionerà su qualsiasi dispositivo, quindi la presentazione può essere aperta su ogni telefono, tablet o laptop. La divulgazione delle informazioni può essere configurata installando il pacchetto e richiamandolo nell'intestazione YAML. Ecco un esempio:

— titolo: "Esporre i margini dell'universo della People Analytics"
autore: "Keith McNulty"
produzione:
rivelajs::revealjs_presentazione:
centro: sì
modello:starwars.html
tema: nero
data: “HR Analytics Meetup Londra – 18 marzo 2019”
file_risorse:
— darth.png
- mortestella.png
- hanchewy.png
- millennio.png
- r2d2-trepio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

Codice sorgente della presentazione pubblicato quie se stessarpubs.com/keithmcnulty/hr_meetup_london'>presentazione - qui.

10 utili funzionalità di R che potresti non conoscere

Tag HTML in R Shiny

La maggior parte dei programmatori non sfrutta appieno i tag HTML di R Shiny. Si tratta però solo di 110 tag che consentono di creare un breve richiamo per una funzione HTML o per la riproduzione multimediale. Ad esempio, di recente ho utilizzato tags$audio per riprodurre un suono di "vittoria" che avvisava l'utente quando un'attività veniva completata.

Pacchetto di lode

L'uso di questo pacchetto è molto semplice, ma è necessario per mostrare elogi all'utente. Sembra strano, ma in realtà gli piace.

10 utili funzionalità di R che potresti non conoscere

Skillbox consiglia:

Fonte: habr.com

Aggiungi un commento