Me gustaría saber cómo aprender el lenguaje R como lenguaje de 'programación' en lugar de aprenderlo como un sistema estadístico. Mi pregunta se debe a la falta de comprensión de funciones como parse, eval, etc., que pueden no encontrar un uso frecuente por parte de un usuario de R con una persuasión de 'estadísticas'.
Editar: he estado explorando herramientas como Rpy RSPerl rJava y deseo (al menos) poder comprender conceptos que faciliten 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 de motivación para que obtenga una comprensión más profunda y estructural de R.
Por último, pero no menos importante, me gustaría poder escribir paquetes R para los que tal comprensión sería beneficiosa si no necesaria.
Respuestas:
Para empezar, es posible que desee consultar este artículo de John Cook . También asegúrese de leer "The R Inferno" .
Hay muchos buenos recursos en la página de inicio de R , pero en particular, lea "Introducción a R" y "La definición del lenguaje R" .
Algunas preguntas de stackoverflow muy relacionadas:
Mi libro favorito sobre el tema: "Software para análisis de datos: Programación con R", de John Chambers , el creador del lenguaje S.
fuente
Un buen libro para aprender R-como-lenguaje-de-programación (a diferencia de R-para-estadísticas) es The Art of R Programming , de Norman Matloff.
Es muy legible, no asume que eres un científico informático y es bastante económico en comparación con los libros R.
fuente
Preferiría sugerir un comienzo bueno y completo, como The R Book de Michael Crawley. Es un libro completo y fácil de leer sobre las funciones básicas de R, con consejos estadísticos y algunos ejercicios. Se centra mucho en las fortalezas de R (por ejemplo, modelos lineales) y también proporciona trucos de codificación útiles. Me ayudó mucho mientras luchaba con cursos crípticos en línea.
fuente
Soy un aprendiz muy práctico, 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 utilizando un lenguaje de programación.
Los proyectos con los que más me enseñaron cómo programar
R
no tenían nada que ver con las estadísticas.Conocer funciones como
parse()
yeval()
de ninguna manera es una medida para ser "un buen programador de R". Las aplicaciones que requieren un uso intensivo de estas funciones no constituyen la mayor parte del espacio de problemas en el que puede aplicarR
. En cambio, creo que debería intentar ser "un buen programador" que sabeR
. Esto implica refinar sus enfoques de resolución de problemas.La programación no es un deporte para espectadores: un buen libro es indispensable como referencia sobre las herramientas disponibles, pero es necesario encontrar algunos problemas en los que perfeccionar sus habilidades.
fuente