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

105

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

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

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

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

харшсингал
источник
1
Вы получите более точные ответы, если сможете объяснить, почему рассматриваете использование R в качестве языка программирования, а не статистической системы. Склеиваете ли вы другое программное обеспечение, уже разработанное на R? Есть ли у вас другие программисты, которые ничего не знают, кроме R, поэтому вам приходится развиваться в нем?
Chip Uni
7
Определенно необходима книга с названием вроде «Статистическая разработка программного обеспечения с R», которая объяснила бы R с точки зрения языков программирования, обсудила бы принципы функционального программирования и объектно-ориентированного программирования на R и действительно сосредоточила бы внимание на лучших практиках. для разработки относительно больших систем.
Harlan
Я думаю, что это один из самых увлекательных способов выучить этот язык: tryr.codeschool.com/levels/1/challenges/16
Умит Кая
Мой голос за повторное открытие основан на том факте, что за этот вопрос набирают много голосов, и он является одним из первых обращений в Google при поиске по запросу «stackoverflow r». Ему 10 лет, и только некоторые из рекомендаций все еще актуальны. Кроме того, было закрыто отсутствие возможности предложить более современные материалы.
IRTFM
@ 42 - вы бы не сочли это вопросом "ищу учебник"?
Камилла

Ответы:

87

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

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

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

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

Шейн
источник
Я собирался ответить той же ссылкой. @harshsinghal Если вы не совсем новичок в программировании, эта ссылка очень полезна.
Secko
Я также поручусь за R inferno. Он содержит многое из того, что я извлек из книги Чемберса, без многословия и религиозных убеждений.
eytan
Документ R inferno великолепен
Федерико Джорджи
23

Хорошая книга для изучения R как языка программирования (в отличие от R для статистики) - это «Искусство программирования на R » Нормана Матлоффа.

введите описание изображения здесь

Он очень удобочитаемый, не предполагает, что вы специалист по информатике, и стоит довольно недорого, как и книги по R.

gung - Восстановить Монику
источник
18

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

альтернативный текст

Федерико Джорджи
источник
2
Согласен - это отличная вводная книга; Кроули пишет очень четко.
Ричи Коттон
Это слишком подробно. Статья Джона Кука выше более лаконична. Как программисту, вам не нужна большая часть «Книги R».
Макс
14

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

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

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

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

Sharpie
источник