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


105

Я хотів би знати, як вивчити мову R як "мову програмування", а не вивчати її як статистичну систему. Моє запитання викликає нерозуміння таких функцій, як синтаксичний аналіз, eval тощо, які можуть не знайти частого використання користувачем R із переконанням "статистики".

Редагувати: Я досліджував такі інструменти, як Rpy RSPerl rJava, і хотів би (принаймні) зрозуміти поняття, які полегшують R-зв’язок з іншими мовами програмування.

Наявність веб-додатків для R (R-PHP, RApache та ін.) - ще один мотиваційний чинник для мене для отримання більш глибокого і структурного розуміння Р.

І останнє, але не менш важливе, я хотів би мати можливість написати R-пакунки, для яких таке розуміння було б корисно, якщо не потрібно.


1
Ви отримаєте кращі відповіді, якщо зможете сказати, чому ви плануєте використовувати R як мову програмування, а не статистичну систему. Ви склеюєте інше програмне забезпечення, вже розроблене в R? Чи є у вас інші програмісти, які не знають нічого, крім R, тому ви змушені в ньому розвиватися?
Chip Uni

7
Однозначно потрібна книга з назвою на кшталт "Статистична інженерія програмного забезпечення з R", яка б пояснила R з точки зору мов програмування, обговорила принципи функціонального програмування та об'єктно-орієнтованого програмування в R та дійсно зосередилась на передовій практиці для розробки відносно великих систем.
Харлан

Я думаю, що це один із найсмішніших
Umit Kaya

Моє голосування за повторне відкриття ґрунтується на тому, що це питання, яке є дуже актуальним, і в одному з перших звернень Google, коли ви шукаєте на "stackoverflow r". Йому 10 років, і лише деякі рекомендації досі діють. Крім того, відсутність можливостей запропонувати більш сучасний матеріал було припинено.
IRTFM

@ 42 - ви б не вважали це питанням "підручника"?
Каміль

Відповіді:


87

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

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

Деякі дуже тісно пов’язані питання щодо стакового перепливу:

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


Я збирався відповісти тим самим посиланням. @harshsinghal Припустимо, що ви не повний новачок у програмуванні, це посилання дуже корисне.
Секко

Я також хочу поручитися за R inferno. Він містить багато того, що я вийшов із книги про палати без багатослівностей та релігійних переконань.
Ейтан

Документ R inferno геніальний
Федеріко Джорджі

23

Хорошою книгою для вивчення мови програмування R-as-a-a (на відміну від R-для статистики) є «Мистецтво програмування R» , Норман Матлофф.

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

Це дуже легко читається, не передбачає, що ви вчений-комп’ютер, і коштує зовсім недорого, оскільки йдуть книги R.


18

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

alt текст


2
Я згоден - це відмінна вступна книга; Кроулі пише дуже чітко.
Річі Коттон

Це занадто детально. Стаття Джона Кука вище є більш стислою. Як програмісту, вам не потрібна значна частина «Книги Р».
Макс

14

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

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

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.