105 votes

Comment apprendre R comme langage de programmation

J'aimerais savoir comment apprendre le langage R en tant que langage de "programmation" plutôt qu'en tant que système statistique. Ma question est motivée par un manque de compréhension de fonctions telles que parse, eval, etc. qui ne sont pas nécessairement utilisées fréquemment par un utilisateur de R ayant une conviction "statistique".

Edit : J'ai exploré des outils tels que Rpy RSPerl rJava et je souhaite (au moins) être capable de comprendre les concepts qui facilitent la communication de R avec d'autres langages de programmation.

La disponibilité d'applications Web pour R (R-PHP, RApache, etc.) est un autre facteur de motivation qui me pousse à acquérir une compréhension plus profonde et plus structurelle de R.

Enfin, j'aimerais être en mesure d'écrire des paquets R pour lesquels une telle compréhension serait bénéfique, voire nécessaire.

1 votes

Vous obtiendrez de meilleures réponses si vous pouvez dire pourquoi vous envisagez d'utiliser R comme un langage de programmation plutôt que comme un système statistique. Collaborez-vous avec d'autres logiciels, déjà développés en R ? Avez-vous d'autres programmeurs qui ne connaissent rien d'autre que R, de sorte que vous êtes obligé de développer dans ce langage ?

7 votes

Il existe un réel besoin d'un livre intitulé "Statistical Software Engineering with R", qui expliquerait R du point de vue des langages de programmation, discuterait des principes de la programmation fonctionnelle et de la programmation orientée objet dans R, et se concentrerait réellement sur les meilleures pratiques pour le développement de systèmes relativement importants.

0 votes

Je pense que c'est l'une des façons les plus amusantes d'apprendre cette langue : tryr.codeschool.com/niveaux/1/défis/16

89voto

Shane Points 40885

Pour commencer, vous pourriez vouloir de regarder cet article de John Cook . Assurez-vous également de lire "L'enfer du R" .

Il existe de nombreuses ressources intéressantes sur la page d'accueil de R mais en particulier, lisez "Une introduction à R" y "La définition du langage R" .

Quelques questions très proches sur stackoverflow :

Mon livre préféré sur le sujet : "Logiciel pour l'analyse des données : Programming with R", par John Chambers le créateur de la langue S.

0 votes

J'allais répondre avec le même lien. @harshsinghal En supposant que vous n'êtes pas un débutant complet en programmation, ce lien est très utile.

0 votes

Je vais aussi me porter garant pour le R inferno. Il contient une grande partie de ce que j'ai retiré du livre de Chambers, sans la verbosité et les convictions religieuses.

0 votes

Le document R inferno est brillant

23voto

gung Points 2999

Un bon livre pour apprendre R en tant que langage de programmation (par opposition à R pour les statistiques) est le suivant L'art de la programmation R par Norman Matloff.

enter image description here

Il est très facile à lire, ne suppose pas que vous soyez un informaticien et est assez peu coûteux pour des livres R.

18voto

Federico Giorgi Points 2460

Je préférerais suggérer un bon début complet, comme Le livre R par Michael Crawley. Il s'agit d'un livre facile à lire et complet sur les fonctions de base de R, avec des conseils statistiques et quelques exercices. Il se concentre beaucoup sur les points forts de R (par exemple, les modèles linéaires) et donne également des astuces de codage utiles. Il m'a beaucoup aidé lorsque je me débattais dans des cours en ligne cryptiques.

alt text

2 votes

Je suis d'accord - c'est un excellent livre d'introduction ; Crawley écrit très clairement.

0 votes

C'est beaucoup trop détaillé. L'article de John Cook ci-dessus est beaucoup plus concis. En tant que programmeur, vous n'avez pas besoin d'une grande partie de "The R book".

14voto

Sharpie Points 6291

Je suis un apprenant très pratique, donc ces conseils peuvent être spécifiques à mon style d'apprentissage. Je dirais que la meilleure façon de commencer à "apprendre à programmer" dans n'importe quel langage est de trouver des problèmes qui sortent de votre champ d'expérience normal et d'essayer de les résoudre à l'aide d'un langage de programmation.

Les projets qui m'ont le plus appris sur la façon de programmer avec R n'avait rien à voir avec les statistiques du tout.

Connaître des fonctions comme parse() y eval() n'est en aucun cas un critère pour être "un bon programmeur R". Les applications qui requièrent une utilisation intensive de ces fonctions ne constituent pas la majorité de l'espace de problèmes dans lequel vous pouvez appliquer les fonctions de R. R . Au lieu de cela, je pense que vous devriez essayer d'être "un bon programmeur" qui sait R . Il s'agit d'affiner vos approches de résolution de problèmes.

La programmation n'est pas un sport de spectateur - un bon livre est indispensable pour se référer aux outils disponibles, mais vous devez trouver des problèmes sur lesquels vous pourrez affiner vos compétences.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X