2010-03-10 2 views
8

Какие хорошие ресурсы существуют для идиом R, в той же строке, что и для Java и Python?Common R idioms

+2

@dalloliogm Перед тем, как спросить, перейдите в stackoverflow: http://stackoverflow.com/questions/302459/what-is-a-programming-idiom – Marek

ответ

10

Я бы в первую очередь рекомендовал the R Inferno. В частности, раздел 3 исследования по векторизации, который, вероятно, является ключевым понятием в программировании R.

Помимо этого, я бы рекомендовал книгу Дирка в книге Джона Чамберса.

Перейти на шаг дальше: язык R получен в основном из Схемы. Один из лучших способов глубокого понимания программирования R (по сравнению с языком, подобным Java или C), - это узнать о functional programming. Для этого лучшим ресурсом может быть SICP («Structure and Interpretation of Computer Programs», доступный бесплатно онлайн), который использует Scheme. Вы также можете найти соответствующие видео-лекции онлайн: MIT 6.001 и Berkeley 61a.

+2

+1 для R Inferno - один из самых полезных уроков R, которые я прочитал, я не могу поверить, что забыл упомянуть об этом :) Он учит вас идиомам R и помогает избежать неприятных ловушек. –

3

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

Лично я выбрал большую часть того, что знаю, прочитав справку, прочитав различные учебники и советы, а иногда и смотрю на исходный код встроенных функций. R FAQ имеет полезные лакомые кусочки для начала. Revolution Computing has links - хорошие ресурсы, особенно для программистов. Кроме того, я нашел Howard Seltman's collection of tips and links полезным; Я бы поспорил, что ссылки на этой странице будут охватывать самые полезные идиомы R, но мне любопытно посмотреть, что еще там.

6

Rosetta Code, который представляет множество общих задач программирования на разных языках программирования. Тогда есть сообщение в блоге by Stephen Turner, который перечисляет несколько RESSOURCES для программистов из других языков, например, вы можете найти слайды из Drew Conway, который сравнивает Python с R.

2

Это может или не может помочь вам в ваших поисках, чтобы выяснить, R Но, когда я привык к R, я обнаружил, что matlab для R словарей помог совсем немного (т.е. предполагая, что вы знаете, как использовать Matlab). Я не могу найти тот, который я использовал, но нашел это one, что, кажется, хорошо иллюстрирует.

4

Easy: 2200+ пакетов и рассчитывает на CRAN :)

На самом деле, шутки в сторону, лучшее описание, которое я прочитал был в Chambers (2008).

+0

+1 Он всегда возвращается в Чемберс. :) – Shane

0

Существует также Rchaeology: Idioms of R Programming Пол Э. Джонсон, который является одним из виньет для пакета rockchalk.

He says «включает в себя« глубокие идеи »и советы по программированию, которые отражают обычаи и манеры лидеров R».

1

В настоящее время я бы сказал, что самый определенный ресурс по всем деталям языка R - Hadley Wickham's book. Читая это, вы получите очень полное представление о том, как работает R. Обложки книг - среди многих других - функциональные и объектно-ориентированные подходы к программированию в Р. Другие главы посвящены основным структурам данных и проблемам с производительностью в R. Обратите внимание, что это действительно опубликованная высококачественная книга который свободно доступен в Интернете.