Comment apprendre R en tant que langage de programmation [fermé]

105

J'aimerais savoir comment apprendre le langage R en tant que langage de «programmation» plutôt que de l'apprendre en tant que système statistique. Ma question est suscitée par un manque de compréhension de fonctions telles que l'analyse, l'évaluation, etc. qui peuvent ne pas être utilisées fréquemment par un utilisateur R avec une persuasion «statistique».

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

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

Dernier point mais non le moindre, j'aimerais pouvoir écrire des packages R pour lesquels une telle compréhension serait bénéfique sinon nécessaire.

sévère
la source
1
Vous obtiendrez de meilleures réponses si vous pouvez expliquer pourquoi vous envisagez d'utiliser R comme langage de programmation plutôt que comme système statistique. Êtes-vous en train de coller d'autres logiciels déjà développés en R? Avez-vous d'autres programmeurs qui ne savent rien d'autre que R, alors vous êtes obligé de vous y développer?
Chip Uni
7
Il y a certainement un besoin pour un livre avec un titre comme «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 vraiment sur les meilleures pratiques pour développer des systèmes relativement grands.
Harlan
Je pense que c'est l'une des façons les plus amusantes d'apprendre cette langue: tryr.codeschool.com/levels/1/challenges/16
Kaya
Mon vote pour la réouverture est basé sur le fait qu'il s'agit d'une question hautement votée et dans l'un des premiers résultats sur Google lorsque vous recherchez sur "stackoverflow r". Il a 10 ans et seules certaines des recommandations sont encore valables. En outre, le manque d'opportunités pour offrir du matériel plus moderne a été supprimé.
IRTFM
@ 42- vous ne considérez pas cela comme une question "à la recherche d'un tutoriel"?
camille

Réponses:

87

Pour commencer, vous voudrez peut- être consulter cet article de John Cook . Assurez-vous également de lire "The R Inferno" .

Il existe de nombreuses bonnes ressources sur la page d'accueil de R , mais en particulier, lisez «Une introduction à R» et «La définition du langage R» .

Quelques questions de stackoverflow très étroitement liées:

Mon livre préféré sur le sujet: "Software for Data Analysis: Programming with R", par John Chambers , le créateur du langage S.

Shane
la source
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.
Secko
Je vais également me porter garant de l'enfer R. Il contient beaucoup de ce que j'ai tiré du livre des Chambres sans la verbosité et les convictions religieuses.
eytan
Le document R inferno est brillant
Federico Giorgi
23

Un bon livre pour apprendre R-en tant que langage de programmation (par opposition à R-pour-statistiques) est The Art of R Programming , de Norman Matloff.

entrez la description de l'image ici

Il est très lisible, ne suppose pas que vous êtes un informaticien, et est assez bon marché comme les livres R.

gung - Réintégrer Monica
la source
18

Je suggérerais plutôt un bon début complet, comme The R Book de Michael Crawley. C'est un livre complet et facile à lire sur les fonctions principales de R, avec des conseils statistiques et quelques exercices. Il se concentre beaucoup sur les forces R (par exemple les modèles linéaires) et donne également des astuces de codage utiles. Cela m'a beaucoup aidé pendant que je luttais sur des cours en ligne cryptiques.

texte alternatif

Federico Giorgi
la source
2
Je suis d'accord - c'est un excellent livre d'introduction; Crawley écrit très clairement.
Richie Cotton
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 du «livre R».
Max
14

Je suis un apprenant très pratique, donc ces conseils peuvent être spécifiques à mon style d'apprentissage. Je suggérerais que le meilleur endroit pour commencer «apprendre à programmer» dans n'importe quelle langue consiste à trouver des problèmes en dehors de votre gamme normale d'expérience et ensuite à essayer de les résoudre en utilisant un langage de programmation.

Les projets qui m'ont le plus appris sur la programmation Rn'avaient rien à voir avec les statistiques.

Connaître des fonctions comme parse()et eval()n'est en aucun cas une mesure pour être "un bon programmeur R". Les applications qui nécessitent une utilisation intensive de ces fonctions ne représentent pas la majorité de l'espace de problème dans lequel vous pouvez postuler R. Au lieu de cela, je pense que vous devriez essayer d'être "un bon programmeur" qui sait R. Cela implique d'affiner vos approches de résolution de problèmes.

La programmation n'est pas un sport pour les spectateurs - un bon livre est indispensable comme référence sur les outils disponibles, mais vous devez trouver des problèmes sur lesquels perfectionner vos compétences.

Sharpie
la source