Совершенно необъективный ответ: изучите plyr
, reshape2
и ggplot2
. Они покроют 90% ваших потребностей в манипулировании данными и визуализации. Все три пакета имеют единую философию работы с данными (которую затрагивает книга по ggplot2), и разработаны так, чтобы быть последовательными и более простыми в освоении.
изучать.
Вместо того чтобы изучать множество специализированных функций, я рекомендую вам изучать простые функции, которые можно гибко компоновать для решения широкого круга задач. Это то, что plyr стремится сделать для работы с данными, а ggplot2 - для визуализации. Это означает, что вам придется потратить больше времени на изучение теории, но я уверен, что в долгосрочной перспективе это окупится сторицей.
Я начну с этого:
Мой вопрос: откуда вы вообще узнали, что эти функции существуют?
Все просто - мы пытались решить аналогичную проблему и пришли через эту функцию. Он либо подходил, либо не подходил нашим потребностям, но теперь мы знаем, что он есть. Я нечасто использовал R лично, но то, что вы описываете, - это кривая обучения каждому языку программирования. Во-первых, вы изучаете «грамматику», то есть то, что вы умеете. Затем вы пытаетесь что-то сделать. Вы обнаружите, что не можете.
На этом этапе у программиста есть несколько возможностей. Что я делаю лично? Зависит от. Я попытаюсь найти этот пакет / заголовок / библиотеку / любые функции-члены, чтобы узнать, подходит ли что-то для моих нужд. Я мог бы погуглить, потому что, если вы действительно не раздвигаете границы, кто-то где-то, вероятно, пытался и не смог сделать это раньше и получил ответ на свой вопрос. Если вы раздвигаете границы, возможно, кто-то где-то уже пытался и потерпел неудачу, но не получил ответа. Я мог бы попробовать форум или два, чтобы посмотреть, что из этого получится. Лично я не часто использую IRC, но это еще один вариант, как и списки рассылки, в зависимости от того, насколько специализирована проблема.
У меня также есть папка на моем компьютере, полная книг, в которых я ищу в зависимости от проблемы, и небольшая библиотека книг, которые я просматриваю / изучал, которые часто содержат практические, не совсем там, но адаптированные примеры .
Мой единственный комментарий - попытка прочитать спецификацию языка вряд ли будет очень полезна для вас как новичка.Вы не полностью поймете, что это означает, потому что вы еще не расширили границы и еще не пробовали что-то. Например, новичок в C может попробовать следующее:
char c = '7';
int x = (int) c;
, чтобы преобразовать символ «7» в целочисленную форму. Это неплохой мыслительный процесс, пока вы не поймете, как работают символы и ASCII, а затем вы поймете, почему приведенное выше не дает вам того, что вы хотите.
Короче говоря, я думаю, что это будет частью процесса обучения, и я не думаю, что вы сможете сократить его хоть сколько-нибудь короче. Утешение похоже на любое исследование: чем больше вы его проводите, тем больше вы будете знать, где искать и какие вопросы задавать в различных сообществах.
Есть бесплатная книга, которая может вас заинтересовать: Введение в вероятность и статистику с использованием R
Вот хороший список ресурсов для изучения R:
https://stats.stackexchange.com/questions/138/resources-for-learning-r
Кроме того, этот сайт в целом является хорошим ресурсом.
В целом, я бы сказал, что следование списку рассылки или списку помощи - это лучший способ, который я нашел для изучения новых вещей. (Это и "R magazine": http://www.r-bloggers.com )
Мой способ изучения 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. да, это правда. Если вы опытный программист и статистик, вам не нужна книга по R. (исключение составляет книга Хэдли Уикхэм ggplot2). В противном случае изучите программирование в целом и / или расширенную статистику.
В некоторых пакетах R есть известные ошибки, которые никто не исправит (владелец пакета покинул университет и т. Д.). просто предупреждение, это может быть сложно, если вы ищете ошибку в своем коде и ошибка находится в пакете R.
Одно из моих действий - следить за RSS-потоком вопросов R на SO ( https://stackoverflow.com/feeds/tag/r ). Затем я могу просмотреть, что другие люди спрашивали / отвечали.
Часто я добавляю в избранное конкретный вопрос / ответ, если думаю, что использую его, или записываю основные моменты в моем программном обеспечении для записной книжки ( OneNote ), иногда я даже пробую вопрос / отвечаю сам.
РЕДАКТИРОВАТЬ:
Я бы также порекомендовал книгу Патрика Берна R-Inferno . Это не столько учебное пособие, сколько описание всех ошибок и моментов, которые Патрик нашел (пока что).
Некоторые интересные ссылки:
Введение, ссылки и примеры: http://manuals.bioinformatics.ucr.edu/home/programming-in-r
Много документации: https://en.wikibooks.org/wiki/R_Programming
Форум R: http://r.789695.n4.nabble.com/
Изучение пакета RODBC для прямого взаимодействия с данными Oracle оказало большое влияние на мою работу. Мой босс был поражен, когда я вытащил данные Oracle прямо в R и построил график всего в нескольких строках кода. Попробуйте сделать это в Excel!
Мораль истории: узнайте, как извлекать данные и манипулировать ими в R. Затем переходите к более интересным вещам, таким как ggplot.