Какие хорошие ресурсы существуют для идиом R, в той же строке, что и для Java и Python?Common R idioms
ответ
Я бы в первую очередь рекомендовал the R Inferno. В частности, раздел 3 исследования по векторизации, который, вероятно, является ключевым понятием в программировании R.
Помимо этого, я бы рекомендовал книгу Дирка в книге Джона Чамберса.
Перейти на шаг дальше: язык R получен в основном из Схемы. Один из лучших способов глубокого понимания программирования R (по сравнению с языком, подобным Java или C), - это узнать о functional programming. Для этого лучшим ресурсом может быть SICP («Structure and Interpretation of Computer Programs», доступный бесплатно онлайн), который использует Scheme. Вы также можете найти соответствующие видео-лекции онлайн: MIT 6.001 и Berkeley 61a.
+1 для R Inferno - один из самых полезных уроков R, которые я прочитал, я не могу поверить, что забыл упомянуть об этом :) Он учит вас идиомам R и помогает избежать неприятных ловушек. –
Это очень интересный вопрос: R действительно полна идиом, и ситуация осложняется еще тем, что для анализа данных существует много идиом, в дополнение к более общим программным. В сочетании с выразительностью R и его склонностью к нарушению принципа наименьшего удивления это часто делает кривую обучения немного круче, чем хотелось бы.
Лично я выбрал большую часть того, что знаю, прочитав справку, прочитав различные учебники и советы, а иногда и смотрю на исходный код встроенных функций. R FAQ имеет полезные лакомые кусочки для начала. Revolution Computing has links - хорошие ресурсы, особенно для программистов. Кроме того, я нашел Howard Seltman's collection of tips and links полезным; Я бы поспорил, что ссылки на этой странице будут охватывать самые полезные идиомы R, но мне любопытно посмотреть, что еще там.
Rosetta Code, который представляет множество общих задач программирования на разных языках программирования. Тогда есть сообщение в блоге by Stephen Turner, который перечисляет несколько RESSOURCES для программистов из других языков, например, вы можете найти слайды из Drew Conway, который сравнивает Python с R.
Это может или не может помочь вам в ваших поисках, чтобы выяснить, R Но, когда я привык к R, я обнаружил, что matlab для R словарей помог совсем немного (т.е. предполагая, что вы знаете, как использовать Matlab). Я не могу найти тот, который я использовал, но нашел это one, что, кажется, хорошо иллюстрирует.
Easy: 2200+ пакетов и рассчитывает на CRAN :)
На самом деле, шутки в сторону, лучшее описание, которое я прочитал был в Chambers (2008).
+1 Он всегда возвращается в Чемберс. :) – Shane
Существует также Rchaeology: Idioms of R Programming Пол Э. Джонсон, который является одним из виньет для пакета rockchalk.
He says «включает в себя« глубокие идеи »и советы по программированию, которые отражают обычаи и манеры лидеров R».
В настоящее время я бы сказал, что самый определенный ресурс по всем деталям языка R - Hadley Wickham's book. Читая это, вы получите очень полное представление о том, как работает R. Обложки книг - среди многих других - функциональные и объектно-ориентированные подходы к программированию в Р. Другие главы посвящены основным структурам данных и проблемам с производительностью в R. Обратите внимание, что это действительно опубликованная высококачественная книга который свободно доступен в Интернете.
@dalloliogm Перед тем, как спросить, перейдите в stackoverflow: http://stackoverflow.com/questions/302459/what-is-a-programming-idiom – Marek