Cos'è il linguaggio di programmazione R? Introduzione & Nozioni di base di R

Cos'è il software R?

R è un linguaggio di programmazione e un software libero sviluppato da Ross Ihaka e Robert Gentleman nel 1993. R possiede un ampio catalogo di metodi grafici e statistici. Include algoritmi di apprendimento automatico, regressione lineare, serie temporali, inferenza statistica per citarne alcuni. La maggior parte delle librerie R sono scritte in R, ma per compiti computazionali pesanti, sono preferiti i codici C, C ++ e Fortran.

R non è solo affidato da accademici, ma molte grandi aziende utilizzano anche il linguaggio di programmazione R, tra cui Uber, Google, Airbnb, Facebook e così via.

L'analisi dei dati con R viene eseguita in una serie di passaggi; programmare, trasformare, scoprire, modellare e comunicare i risultati

  • Programma : R è uno strumento di programmazione chiaro e accessibile
  • Transform : R è costituito da una raccolta di librerie progettate specificamente per la scienza dei dati
  • Scopri : indaga sui dati, affina la tua ipotesi e analizzali
  • Model : R fornisce un'ampia gamma di strumenti per acquisire il modello giusto per i tuoi dati
  • Comunica : integra codici, grafici e output in un rapporto con R Markdown o crea app Shiny da condividere con il mondo

In questo tutorial introduttivo imparerai R

  • A cosa serve R?
  • R per settore
  • Pacchetto R.
  • Comunica con R.
  • Perché usare R?
  • Dovresti scegliere R?
  • R è difficile?

A cosa serve R?

  • Inferenza statistica
  • Analisi dei dati
  • Algoritmo di apprendimento automatico

R per settore

Se suddividiamo l'uso di R per industria, vediamo che gli accademici vengono prima. R è un linguaggio per fare statistica. R è la prima scelta nel settore sanitario, seguita dal governo e dalla consulenza.

Pacchetto R.

Gli usi principali di R sono e saranno sempre, statistica, visualizzazione e apprendimento automatico. L'immagine sotto mostra quale pacchetto R ha ricevuto il maggior numero di domande in Stack Overflow. Nella top 10, la maggior parte di essi è correlata al flusso di lavoro di un data scientist: preparazione dei dati e comunicazione dei risultati.

Tutte le librerie di R, quasi 12k, sono archiviate in CRAN. CRAN è un software gratuito e open source. È possibile scaricare e utilizzare le numerose librerie per eseguire Machine Learning o analisi di serie temporali.

Comunica con R.

R ha diversi modi per presentare e condividere il lavoro, tramite un documento markdown o un'app brillante. Tutto può essere ospitato su Rpub, GitHub o sul sito web dell'azienda.

Di seguito è riportato un esempio di una presentazione ospitata su Rpub

Rstudio accetta markdown per scrivere un documento. Puoi esportare i documenti in diversi formati:

  • Documento:
    • HTML
    • PDF / Latex
    • parola
  • Presentazione
    • HTML
    • PDF beamer

Rstudio ha un ottimo strumento per creare facilmente un'app. Di seguito è riportato un esempio di app con i dati della Banca Mondiale.

Perché usare R?

La scienza dei dati sta plasmando il modo in cui le aziende gestiscono le proprie attività. Senza dubbio, stare lontano dall'intelligenza artificiale e dalla macchina porterà l'azienda al fallimento. La grande domanda è quale strumento / lingua dovresti usare?

Sono molti gli strumenti disponibili sul mercato per eseguire l'analisi dei dati. L'apprendimento di una nuova lingua richiede un investimento di tempo. L'immagine sotto mostra la curva di apprendimento rispetto alla capacità di business offerta da una lingua. La relazione negativa implica che non ci sia pranzo gratis. Se vuoi dare la migliore visione dai dati, allora devi dedicare un po 'di tempo all'apprendimento dello strumento appropriato, che è R.

In alto a sinistra del grafico, puoi vedere Excel e PowerBI. Questi due strumenti sono semplici da apprendere ma non offrono capacità aziendali eccezionali, soprattutto in termini di modellazione. Al centro, puoi vedere Python e SAS. SAS è uno strumento dedicato per eseguire un'analisi statistica per le imprese, ma non è gratuito. SAS è un software click and run. Python, tuttavia, è un linguaggio con una curva di apprendimento monotona. Python è uno strumento fantastico per distribuire Machine Learning e AI, ma manca di funzionalità di comunicazione. Con una curva di apprendimento identica, R è un buon compromesso tra implementazione e analisi dei dati.

Quando si tratta di visualizzazione dei dati (DataViz), probabilmente avrai sentito parlare di Tableau. Tableau è, senza dubbio, un ottimo strumento per scoprire modelli tramite grafici e tabelle. Inoltre, l'apprendimento di Tableau non richiede molto tempo. Un grosso problema con la visualizzazione dei dati è che potresti non trovare mai uno schema o semplicemente creare molti grafici inutili. Tableau è un ottimo strumento per la visualizzazione rapida dei dati o della Business Intelligence. Quando si tratta di statistiche e strumenti decisionali, R è più appropriato.

Stack Overflow è una grande comunità per i linguaggi di programmazione. Se hai un problema di codifica o hai bisogno di comprendere un modello, Stack Overflow è qui per aiutarti. Nel corso dell'anno, la percentuale di visualizzazioni di domande è aumentata notevolmente per R rispetto alle altre lingue. Questa tendenza è ovviamente altamente correlata con il boom della scienza dei dati, ma riflette la domanda del linguaggio R per la scienza dei dati.

Nella scienza dei dati, ci sono due strumenti in competizione tra loro. R e Python sono probabilmente il linguaggio di programmazione che definisce la scienza dei dati.

Dovresti scegliere R?

Il data scientist può utilizzare due ottimi strumenti: R e Python. Potresti non avere tempo per impararli entrambi, soprattutto se inizi a imparare la scienza dei dati. Apprendimento della modellazione statistica e dell'algoritmoè molto più importante che imparare un linguaggio di programmazione. Un linguaggio di programmazione è uno strumento per calcolare e comunicare la tua scoperta. L'attività più importante nella scienza dei dati è il modo in cui gestisci i dati: importazione, pulizia, preparazione, progettazione delle funzionalità, selezione delle funzionalità. Questo dovrebbe essere il tuo obiettivo principale. Se stai cercando di imparare R e Python allo stesso tempo senza un solido background in statistica, è semplicemente stupido. I data scientist non sono programmatori. Il loro compito è comprendere i dati, manipolarli ed esporre l'approccio migliore. Se stai pensando a quale lingua imparare, vediamo qual è la lingua più adatta a te.

Il pubblico principale per la scienza dei dati è il professionista aziendale. Nel business, una grande implicazione è la comunicazione. Esistono molti modi per comunicare: report, app Web, dashboard. Hai bisogno di uno strumento che faccia tutto questo insieme.

R è difficile?

Anni fa, R era una lingua difficile da padroneggiare. Il linguaggio era confuso e non strutturato come gli altri strumenti di programmazione. Per superare questo grosso problema, Hadley Wickham ha sviluppato una raccolta di pacchetti chiamata tidyverse. La regola del gioco è cambiata in meglio. La manipolazione dei dati diventa banale e intuitiva. Creare un grafico non era più così difficile.

I migliori algoritmi per l'apprendimento automatico possono essere implementati con R. Pacchetti come Keras e TensorFlow consentono di creare tecniche di apprendimento automatico di fascia alta. R ha anche un pacchetto per eseguire Xgboost, uno dei migliori algoritmi per la competizione Kaggle.

R può comunicare con l'altra lingua. È possibile chiamare Python, Java, C ++ in R. Il mondo dei big data è accessibile anche a R. Puoi connettere R con diversi database come Spark o Hadoop.

Infine, R si è evoluto e ha consentito l'operazione di parallelizzazione per accelerare il calcolo. In effetti, R è stato criticato per l'utilizzo di una sola CPU alla volta. Il pacchetto parallelo consente di eseguire attività in diversi core della macchina.

Sommario

In poche parole, R è un ottimo strumento per esplorare e analizzare i dati. Analisi elaborate come clustering, correlazione e riduzione dei dati vengono eseguite con R. Questa è la parte più cruciale, senza una buona progettazione e modello delle funzionalità, l'implementazione dell'apprendimento automatico non darà risultati significativi.

Articoli interessanti...