Come imparare R come linguaggio di programmazione [chiuso]


105

Mi piacerebbe sapere come imparare il linguaggio R come linguaggio di "programmazione" invece di apprenderlo come sistema statistico. La mia domanda è motivata dalla mancanza di comprensione di funzioni come parse, eval, ecc. Che potrebbero non trovare un uso frequente da parte di un utente R con una persuasione "statistica".

Modifica: ho esplorato strumenti come Rpy RSPerl rJava e desidero (almeno) essere in grado di comprendere concetti che facilitano la comunicazione di R con altri linguaggi di programmazione.

La disponibilità di applicazioni Web per R (R-PHP, RApache, ecc.) È un altro fattore motivazionale per me per acquisire una comprensione più profonda e strutturale di R.

Ultimo ma non meno importante, mi piacerebbe essere in grado di scrivere pacchetti R per i quali tale comprensione sarebbe utile se non necessaria.


1
Otterrai risposte migliori se puoi dire perché stai considerando di utilizzare R come linguaggio di programmazione, piuttosto che come sistema statistico. State incollando insieme altri software, già sviluppati in R? Hai altri programmatori che non sanno altro che R, quindi sei costretto a svilupparlo?
— Chip Uni il

7
C'è sicuramente bisogno di un libro con un titolo come "Statistical Software Engineering with R", che spieghi R dal punto di vista dei linguaggi di programmazione, discuti i principi della programmazione funzionale e della programmazione orientata agli oggetti in R e si concentri davvero sulle migliori pratiche per lo sviluppo di sistemi relativamente grandi.
— Harlan

Penso che questo sia uno dei modi più divertenti per imparare questa lingua: tryr.codeschool.com/levels/1/challenges/16
— Umit Kaya

Il mio voto per la riapertura si basa sul fatto che questa è una domanda molto votata e in uno dei primi risultati su Google quando cerchi "stackoverflow r". Ha 10 anni e solo alcune delle raccomandazioni sono ancora valide. Inoltre, la mancanza di opportunità per offrire materiale più moderno è stata interrotta.
— IRTFM

@ 42- non la considereresti una domanda "alla ricerca di un tutorial"?
— camille

Risposte:


87

Per cominciare, potresti dare un'occhiata a questo articolo di John Cook . Assicurati anche di leggere "The R Inferno" .

Ci sono molte buone risorse sulla home page di R , ma in particolare, leggi "Introduzione a R" e "Definizione del linguaggio R" .

Alcune domande stackoverflow strettamente correlate:

Il mio libro preferito sull'argomento: "Software for Data Analysis: Programming with R", di John Chambers , il creatore del linguaggio S.


Stavo per rispondere con lo stesso link. @harshsinghal Supponendo che tu non sia un principiante assoluto nella programmazione, quel collegamento è molto utile.
— Secko

Garantisco anche per l'inferno R. Contiene molto di ciò che ho tratto dal libro di Chambers senza la verbosità e le convinzioni religiose.
— eytan

Il documento di R inferno è geniale
— Federico Giorgi

23

Un buon libro per imparare l'R-as-a-programming-language (al contrario dell'R-for-statistics) è The Art of R Programming , di Norman Matloff.

inserisci qui la descrizione dell'immagine

È molto leggibile, non dà per scontato che tu sia uno scienziato informatico ed è piuttosto economico per i libri R.


18

Preferirei suggerire un inizio buono e completo, come The R Book di Michael Crawley. È un libro completo e di facile lettura sulle funzioni principali di R, con suggerimenti statistici e alcuni esercizi. Si concentra molto sui punti di forza della R (ad esempio i modelli lineari) e fornisce anche utili trucchi di codifica. Mi ha aiutato molto mentre stavo lottando con criptici corsi online.

testo alternativo


2
Sono d'accordo: questo è un eccellente libro introduttivo; Crawley scrive molto chiaramente.
— Richie Cotton,

È troppo dettagliato. L'articolo di John Cook sopra è molto più conciso. Come programmatore, non hai bisogno di gran parte del "libro R".
— Max

14

Sono uno studente molto pratico, quindi questo consiglio potrebbe essere specifico per il mio stile di apprendimento. Suggerirei che il posto migliore per iniziare a "imparare a programmare" in qualsiasi lingua implica la ricerca di problemi al di fuori della normale gamma di esperienza e quindi il tentativo di risolverli utilizzando un linguaggio di programmazione.

I progetti che mi hanno insegnato di più su come programmare Rnon avevano nulla a che fare con le statistiche.

Il sapere funziona come parse()e eval()non è affatto una misura per essere "un buon programmatore R". Le applicazioni che richiedono un uso intenso di queste funzioni non costituiscono la maggior parte dello spazio problematico in cui è possibile applicare R. Invece, penso che dovresti cercare di essere "un buon programmatore" chissà R. Ciò implica il perfezionamento degli approcci alla risoluzione dei problemi.

La programmazione non è uno sport per spettatori: un buon libro è indispensabile come riferimento sugli strumenti a disposizione, ma è necessario trovare alcuni problemi su cui affinare le proprie capacità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.