Подтвердить что ты не робот

Обучение Р. Где начинается?

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

Переполнение стека,

Не могли бы вы порекомендовать путь для обучения R таким образом, чтобы предоставить ему набор инструментов для решения проблем статистического характера?

Там есть множество знаний в Интернете, между веб-сайтом r-проекта и списками рассылки, но он кажется "повсюду" и нигде, когда вы действительно ищете его.

Например, когда я впервые начал использовать R, я прошел через "Intro to R". Затем я прочитал определение языка (которое, очевидно, не утонуло). Но каждый раз, когда я задаю вопрос о Stackoverflow, мне представлена новая функция badass, которая является решением всех моих проблем в краткосрочной перспективе. Мой вопрос: как вы узнали, что эти функции существуют в первую очередь? И как их можно найти? Предположительно, вы что-то читали или находили некоторые ресурсы, которые отвлекали ваше обучение от экспоненциальной части кривой. Что это было?

Очевидно, что функциональность R как статистический инструмент является широким. Для моих целей я работаю в основном с экономическими или финансовыми данными. Следовательно, ответы с учетом этого были бы наиболее полезными.

4b9b3361

Ответ 1

Полностью предвзятый ответ: узнайте plyr, reshape2 и ggplot2. Они будут охватывать 90% ваших потребностей в обработке данных и визуализации. Все три пакета имеют согласованную философию данных (к которым относится книга ggplot2), и они предназначены для последовательного и учить.

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

Ответ 2

Как я узнал R.

Ресурсы

R:

  • Чтобы узнать R, самым важным ресурсом является Google. поиск: "TOPIC r-project", "TOPIC filetype: r" или "TOPIC site: nabble.com".

  • Во-вторых, посмотрите пример кода, который предоставляется большинством пакетов. перейдите в раздел http://bm2.genes.nig.ac.jp/", найдите тему и посмотрите пример кода. запустить его и адаптировать, таким образом, вы часто можете решить часть своей проблемы.

  • В-третьих: список рассылки r-help. Читайте сообщения, вопросы задаются снова и снова. Если у вас есть проблема, и вы полностью застряли, задайте вопрос в списке рассылки.

  • Наконец, посмотрите исходный код R-пакетов. это самая сложная часть. если вы можете изменить код в соответствии с вашими потребностями, вы освоили R; -)

Некоторые советы:

  • R имеет крутую левую кривую. это функция;-), она предназначена для решения сложных задач, и в конце концов вы быстрее, чем при использовании альтернативы R.

  • Знайте каждый R-пакет и функцию, которые имеют отношение к вашей проблеме. сила R заключается в том, что доступно так много пакетов (около 2000, я думаю). Обычно всегда есть пакет, который больше подходит или уже решает вашу проблему. (некоторые страницы помощи плохо написаны и трудно понять - я к этому привык)

  • R книги не помогают в обучении R. Да, это правда. Если вы эксперт-программист и эксперт-статистик, вам не нужна книга о Р. (только исключение составляет книга Hadley Wickhams ggplot2). Если это не так, изучите программирование в целом и/или расширенную статистику.

  • В некоторых пакетах R есть ошибки, которые никто не исправит (владелец пакета покинул университет и т.д.). просто предупреждение, это может быть сложно, если вы ищете ошибку в коде, а ошибка в пакете R.

Ответ 4

Я начну с этого:

Мой вопрос: как вы узнали, что эти функции существуют в первую очередь?

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

На этом этапе у программиста есть несколько вариантов. Что я делаю лично? Зависит. Я попытаюсь найти этот пакет/заголовок/библиотеку/любые функции-члены, чтобы узнать, подходит ли что-то для моих нужд. Я мог бы это сделать Google, потому что, если вы действительно не нажимаете границы, кто-то где-то, вероятно, пытался и не смог этого сделать раньше, и на их вопрос ответили. Если вы нажимаете границы, кто-то где-то, вероятно, раньше пытался и не смог, но не получил ответа. Я мог бы попробовать форум или два, чтобы посмотреть, что произойдет. Я лично не использую IRC много, но это еще один вариант, также как и списки рассылки в зависимости от того, насколько специализирована проблема.

У меня также есть папка на моем компьютере, полная книг, которые я просматриваю в зависимости от проблемы, и небольшую библиотеку книг, которые я просматриваю/изучаю, которые часто содержат практические, не вполне доступные, но адаптируемые примеры.

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

char c = '7';
int x = (int) c;

чтобы преобразовать символ '7' в целочисленную форму. Это не плохой процесс, пока вы не поймете, как работают персонажи и ASCII, тогда вы видите, почему приведенное выше не дает вам то, что вы хотите.

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

Ответ 5

Одна из вещей, которые я делаю, - это следовать RSS-каналу вопросов R по SO (https://stackoverflow.com/feeds/tag/r). Затем я могу просмотреть, что другие люди спросили/ответили.

Часто я буду любимым конкретным вопросом/ответом, если я думаю, что буду использовать его, или запишите основные моменты в свое программное обеспечение для ноутбуков (OneNote), occaisonaly Я даже попробую сам вопрос/ответ.

EDIT:

Я также рекомендую книгу Патрика Берна R-Inferno. Это не столько учебная книга, сколько описание всех полученных и ооох, которые Патрик нашел (до сих пор).

Ответ 6

Вот хороший список ресурсов для обучения R:

https://stats.stackexchange.com/questions/138/resources-for-learning-r

Кроме того, этот веб-сайт в целом является хорошим ресурсом.

В общем, я бы сказал, что следующий список рассылки или список справки - лучший способ найти новые вещи. (Это и "Журнал R": http://www.r-bloggers.com)

Ответ 7

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

Мораль истории, научиться извлекать данные и манипулировать ими в пределах R. Затем перейдите к некоторым более холодным материалам, таким как ggplot.

Ответ 9

Книга, которая помогла мне больше всего узнать, была "Искусство программирования R" . Многие книги по программированию могут быть сухими. Поскольку R обычно является точкой входа в программирование, важно, чтобы голос материалов резонировал со студентом. Эта книга сделала это со мной. Голос чувствовал себя очень случайным, и мне это нравилось.

Ответ 11

Часто задаваемые вопросы в разделе [R], прямо здесь, в Stackoverflow, fooobar.com/questions/tagged/... предоставляют многочисленные воспроизводимые примеры, которые можно использовать для "обучения".

Большинство проблем очень распространены и в конечном итоге станут тем, что вам придется искать в качестве новичка. Часто задаваемые вопросы также предоставляют высокограмотные (и опытные) примеры использования для разнообразных функций и полезных пакетов.

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

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

Всего несколько примеров:

Ответ 12

Например, вы можете начать с RStudio, R IDE, которая упрощает запуск R-проекта. Код, разработанный в RStudio, отлично работает в R-проекте, поэтому вам не нужно переписывать все. Также прочитайте это сообщение http://www.robertomarchetto.com/learn_r_project_free_pdf_book для некоторых книг в формате PDF.