Как выучить R как язык программирования

Я хотел бы знать, как выучить язык R как "язык программирования", а не изучать его как статистическую систему. Мой вопрос вызван отсутствием понимания таких функций, как parse, eval и т.д., Которые могут не часто встречаться пользователем R с убеждением "статистики".

Изменить: Я изучал такие инструменты, как Rpy RSPerl rJava, и хочу (по крайней мере) уметь понимать концепции, которые облегчают связь R с другими языками программирования.

Доступность веб-приложений для R (R-PHP, RApache и т.д.) является еще одним фактором мотивации для меня, чтобы получить более глубокое, более структурное понимание R.

И последнее, но не менее важное: я хотел бы писать R-пакеты, для которых такое понимание было бы полезным, если это не было необходимо.

Ответ 1

Для начала, вы можете посмотреть на эту статью Джона Кука. Также убедитесь, что вы читаете "The R Inferno".

На домашней странице R есть много хороших ресурсов, но, в частности, прочитайте "Введение в R" и "Определение языка R".

Некоторые очень тесно связанные вопросы stackoverflow:

Моя любимая книга на эту тему: "Программное обеспечение для анализа данных: программирование на R", создатель языка S. Джон Чамберс.

cda_displayimage.jpg?SGWID=0-0-16-402507-0

Ответ 2

Хорошая книга для изучения R-as-a-programming-language (в отличие от R-for-statistics) Искусство программирования R, Норман Матлофф.

enter image description here

Это очень читаемо, не предполагает, что вы компьютерный ученый, и довольно недорого, как книги R.

Ответ 3

Я предпочел бы хороший и всесторонний старт, например, The R Book Майкла Кроули. Это легко читаемая и полная книга по основным функциям R, со статистическими советами и несколькими упражнениями. Он много фокусируется на силе R (например, линейных моделях) и дает также полезные трюки для кодирования. Это очень помогло мне, когда я боролся с загадочными онлайн-курсами.

alt text

Ответ 4

Я очень практический ученик, поэтому этот совет может быть специфическим для моего стиля обучения. Я бы предположил, что лучшее место для начала "обучения программированию" на любом языке предполагает поиск проблем за пределами вашего обычного диапазона опыта, а затем их попытки решить с помощью языка программирования.

Проекты, которые учили меня больше всего о том, как программировать с помощью R, никак не связаны со статистикой.

Знание таких функций, как parse() и eval(), ни в коем случае не является мерой для того, чтобы быть "хорошим программистом R". Приложения, требующие интенсивного использования этих функций, не составляют большую часть проблемного пространства, в которое вы можете применить R. Вместо этого, я думаю, вы должны стараться быть "хорошим программистом", который знает R. Это включает в себя уточнение ваших подходов к решению проблем.

Программирование не является спортом для зрителей. Хорошая книга незаменима как ссылка на доступные инструменты, но вам нужно найти некоторые проблемы, с помощью которых можно оттачивать свои навыки.