2009-11-16 18 views
98

Me gustaría saber cómo aprender el lenguaje R como un lenguaje de "programación" en lugar de aprenderlo como un sistema estadístico. Mi pregunta es provocada por la falta de comprensión de funciones tales como parse, eval, etc. que pueden no ser utilizadas con frecuencia por un usuario R con una persuasión de 'estadística'.¿Cómo aprender R como lenguaje de programación?

Editar: he estado explorando estas herramientas como RPY RSPerl rJava y deseo (por lo menos) ser capaz de entender los conceptos que facilitan la comunicación de R con otros lenguajes de programación.

La disponibilidad de aplicaciones Web para R (R-PHP, RApache, etc.) es otro factor motivationg para mí para ganar una comprensión más profunda, más estructural de R.

Por último, pero no menos importante, I' Me gustaría poder escribir paquetes R para los cuales tal entendimiento sería beneficioso si no fuera necesario.

+1

Obtendrá mejores respuestas si puede decir por qué está considerando usar R como un lenguaje de programación, en lugar de un sistema estadístico. ¿Estás pegando otro software, ya desarrollado en R? ¿Tiene otros programadores que no conocen nada más que R, por lo que se ven obligados a desarrollar en él? –

+5

Definitivamente hay necesidad de un libro con un título como "Ingeniería de software estadística con R" que explique R desde el punto de vista de los lenguajes de programación, discuta los principios de la programación funcional y la programación orientada a objetos en R, y concéntrese en los mejores prácticas para desarrollar sistemas relativamente grandes. – Harlan

+0

Creo que esta es una de las maneras más divertidas de aprender este idioma: http://tryr.codeschool.com/levels/1/challenges/16 – Umitk

Respuesta

82

Para empezar, es posible que desee to look at this article by John Cook. También asegúrese de leer "The R Inferno".

Hay muchos recursos buenos en the R homepage, pero en particular, lea "An Introduction to R" y "The R Language Definition".

Algunas preguntas StackOverflow muy estrechamente relacionados:

Mi libro favorito sobre el tema: "Software for Data Analysis: Programming with R", by John Chambers, el creador del lenguaje S.

+0

Iba a responder con el mismo enlace. @harshsinghal Asumiendo que no eres un principiante en la programación, ese enlace es muy útil. – Secko

+0

+1 - excelente respuesta. – duffymo

+0

También responderé por el infierno R. Contiene gran parte de lo que obtuve del libro de Chambers sin la verborrea y las convicciones religiosas. – eytan

14

Soy una persona muy alumno práctica, por lo que este consejo puede ser específico para mi estilo de aprendizaje. Sugeriría que el mejor lugar para comenzar a "aprender a programar" en cualquier idioma implica encontrar problemas fuera de su rango normal de experiencia y luego tratar de resolverlos usando un lenguaje de programación.

Los proyectos que más me han enseñado acerca de cómo programar con R no tienen nada que ver con las estadísticas.

Conocer funciones como parse() y eval() de ninguna manera es una medida para ser "un buen programador R". Las aplicaciones que requieren un uso intensivo de estas funciones no constituyen la mayoría del espacio problemático en el que puede aplicar R. En cambio, creo que deberías tratar de ser "un buen programador" que conozca R. Esto implica refinar sus enfoques de resolución de problemas.

La programación no es un deporte de espectadores, un buen libro es indispensable como referencia en las herramientas disponibles, pero debe encontrar algunos problemas para perfeccionar sus habilidades.

+0

Aprende haciendo ... ¡Me gusta! – Shane

17

Prefiero sugerir un inicio bueno y completo, como The R Book de Michael Crawley. Es un libro fácil de leer y completo sobre funciones centrales R, con consejos estadísticos y algunos ejercicios. Se enfoca mucho en las fortalezas R (por ejemplo, modelos lineales) y también proporciona trucos de codificación útiles. Me ayudó mucho mientras luchaba en crípticos cursos en línea.

alt text

+2

Estoy de acuerdo: este es un excelente libro introductorio; Crawley escribe muy claramente. –

+0

Es demasiado detallado. El artículo de John Cook anterior es mucho más conciso. Como programador, no necesitas una gran parte del "Libro de R". – Max

21

Un buen libro para aprender R-as-a-programación en (a diferencia de R-para-estadísticas) es The Art of R Programming, por Norman Matloff.

enter image description here

Es muy fácil de leer, no asume que eres un experto en informática, y es bastante barato como los libros de I ir.

Cuestiones relacionadas