Книг по R на русском языке становится все больше, что не может не радовать. Совсем недавно издательством "Манн, Иванов и Фербер" была опубликована работа Нейтана Яу (Nathan Yau) "Искусство визуализации в бизнесе. Как представить сложную информацию простыми образами" (оригинальное название книги "Visualize This: The FlowingData Guide to Design, Visualization, and Statistics"). Нейтан является автором FlowingData - одного из наиболее популярных англоязычных блогов, посвященных визуализации данных. В своей новой книге Нейтан делится приемами создания инфографики, которая позволяет раскрыть порой неочевидные свойства анализируемых данных и рассказать на их основе интересную историю. Следует оговориться, что R - не единственный инструмент для обработки и визуализации данных, обсуждаемый в книге. Наряду с описанием выполнения определенных задач при помощи R, приводится много примеров кода Python, а также рассматриваются Javascript (JSON), XML, Adobe Illustrator, др.
Глава 1. Как рассказать историю с помощью данных
Будучи вещью объективной, данные имеют человеческое измерение. Это значит, что за грудой цифр и слов часто скрываются истории о реальном мире, и задача статистики и визуализации состоит в том, чтобы помочь эти истории рассказать. На что обращать внимание в данных при подготовке таких историй? Как выбрать подходящее средство визуализации? Каковы обязательные элементы статистической диаграммы? Как учесть аудиторию, которой предназначен конечный результат визуализации? Эти вопросы обсуждаются в первой главе книги.
Глава 2. Как обращаться с данными
Прежде чем приступить к визуализации данных, их необходимо сначала получить. Более того, данные очень редко поступают в готовом к работе виде, и поэтому обычно значительную часто всего процесса визуализации занимает приведение данных к необходимому формату и их очистка. Во второй главе книги описываются открытые источники данных и программные средства их получения и подготовки к анализу. В частности, подробно обсуждается пример скрипта на языке Python, с помощью которого извлекаются исторические ряды наблюдений с одного из сайтов, посвященных прогнозу погоды. Далее читатель знакомится с распространенными форматами хранения (текст с разделителями, JSON, XML) и инструментами форматирования данных (Google Refine (сейчас проект называется OpenRefine), Mr. Data Converter, Mr. People, Python).
Глава 3. Выбор инструментов для визуализации данных
Существует огромное разнообразие программ, позволяющих визуализировать данных. В этой главе обсуждается программное обеспечение, на которое стоит обратить особое внимание, включая R, Python, Flash и ActionScript, Tableau Software, Many Eyes, Google Maps, Modest Maps, Polymaps, HTML, CSS, Adobe Illustrator, Inkscape, и др.
Глава 4. Визуализация паттернов во времени
Как следует из ее названия, эта глава посвящена обсуждению вопросов, связанных с визуализацией временных рядов. Приводятся пошаговые примеры создания заготовок диаграмм в R и их последующего доведения до конечного результата в Adobe Illustrator.
Глава 5. Визуализация пропорций
Как соотносится группа людей, сделавшая тот или иной выбор, с остальными? Как распределяются калории между жирами, белками и углеводами - поровну, или одна из этих групп доминирует? В пятой главе обсуждаются приемы визуализации пропорций, которые помогут ответить на подобные вопросы. Приводится подробный пример создания круговой диаграммы при помощи замечательного инструмента - Protovis (JavaScript-библиотека, позволяющая использовать возможности современных браузеров для работы с масштабируемой векторной графикой (Scalable Vector Graphics, SVG)). Кроме того, приведен подробный пример создания диаграммы типа "treemap" при помощи R и функции map.market() из пакета portfolio.
Глава 6. Визуализация зависимостей
Данная глава посвящена приемам визуализации корреляционных связей между количественными переменными. Обсуждаются такие типы статистических графиков, как диаграммы рассеяния и матрицы диаграмм рассеяния, диаграммы рассеяния в сочетании с линиями тренда, пузырьковые диаграммы, матрицы гистограмм. Для создания всех этих типов диаграмм используется R.
Глава 7. Выявление различий
Эта глава посвящена тому, как обособлять группы в рамках совокупности на основе большого числа критериев. Рассматриваются такие типы графиков, как тепловые карты, лица Чернова, лепестковые диаграммы и диаграммы параллельных координат. Все примеры построены на коде R.
Глава 8. Визуализация пространственных отношений
Нейтан Яу известен как автор многих красивых карт, отражающих пространственное распределение и динамику разных явлений. В восьмой главе своей книги Нейтан описывает основы создания инфографики этого типа средствами Python, R и ActionScript.
Глава 9. Прицельный дизайн
Дизайн графиков определяет то, насколько легко будет их понять и интерпретировать заложенную в них историю. В этой заключительной главе книги описываются приемы, которые помогут сделать визуализацию данных максимально понятной и информативной.
Книга понравилась мне своей логичностью в изложении материала - автор начинает с обсуждения того, зачем мы вообще пытаемся визуализировать данные, после чего переходит к способам получения и подготовки данных к работе, и далее - к рассмотрению основных приемов визуализации. Все главы содержат большое количество примеров с использованием разнообразных программ, что дает хороший обзор доступных инструментов и делает книгу полезным сборником практических советов и готовых рецептов. Кроме того, Нейтан постоянно подчеркивает необходимость овладения несколькими программными средствами анализа и визуализации данных. Нельзя не согласиться с ним, что навыки работы с несколькими такими инструментами помогают экономить время и делают нас свободнее в выборе средств и способов достижения задуманного.
Правда, как мне кажется, у книги есть и один небольшой недостаток, который связан, как ни странно, именно с попыткой автора дать обзор многих программных инструментов одновременно. Для успешного освоения излагаемого таким образом материала читатель должен будет уже иметь определенные навыки работы с обсуждаемыми инструментами, иначе он может легко потеряться в строках кода R, Python, ActionScript и др. Соответственно, эта книга вряд ли может стать вводной для тех, кто не знаком ни с одним языком программирования и только приступает к знакомству с областью визуализации данных. С другой стороны, тем, кто уже имеет опыт работы в этой области, при чтении некоторых частей книги может стать скучно от констатации очевидного.
Есть также мелкие нарекания к переводу с английского. Например, встречаются такие неудачные фразы, как "генерализация примера" (стр. 54) вместо "обобщения примера", "маппинг" (от "mapping") вместо "картирования" (с. 95), "диаграмма-радар" вместо достаточно общепринятого термина "лепестковая диаграмма" (с. 249), и т.п.
Тем не менее, несмотря не некоторые мелкие недочеты (а какая работа их лишена?!), книгу "Искусство визуализации в бизнесе" однозначно можно порекомендовать тем читателям, кто интересуется анализом и визуализацией данных и хочет больше узнать о соответствующем программном обеспечении.
На англ. языке: Р. Dalgaard (2008) Introductory statistics with R
Отправить комментарий