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.