Если вы не знаете, как выбрать тип графика в зависимости от данных, в этом вам отлично помогут коллекции инструментов для выбора диаграмм визуализации данных сайта Cool Infografics. 👌
Хороших выходных, друзья! 👋
Хороших выходных, друзья! 👋
February 14
Cloud-Optimized Geospatial Formats Guide. Methods for Generating and Testing Cloud-Optimized Geospatial Formats
Напомню для уважаемых географов о существовании ресурса Cloud-Optimized Geospatial Formats Guide, в котором разбираются оптимизированные форматы геопространственных данных для облачных вычислений.
К сожалению, универсальных подходов тут нет, для определения формата необходимо решить ряд вопросов, например: Какие переменные следует включить в новый формат данных? Какой ожидается метод доступа? Какой объем ваших данных обычно визуализируется или выбирается одновременно?
Про типы географических данных можно также посмотреть в таблице Geographic data I/O.
ESRI Shapefile до сих пор является наиболее часто используемым форматом обмена векторными данными, однако он уже не так перспективен 🙅♂️ судя по сайту Switch from Shapefile, все уже движется в сторону Parquet/DuckDB/Arrow (Apache Iceberg and Parquet now support GEO + Geoparquet 2.0: Going Native).
Напомню для уважаемых географов о существовании ресурса Cloud-Optimized Geospatial Formats Guide, в котором разбираются оптимизированные форматы геопространственных данных для облачных вычислений.
К сожалению, универсальных подходов тут нет, для определения формата необходимо решить ряд вопросов, например: Какие переменные следует включить в новый формат данных? Какой ожидается метод доступа? Какой объем ваших данных обычно визуализируется или выбирается одновременно?
Про типы географических данных можно также посмотреть в таблице Geographic data I/O.
ESRI Shapefile до сих пор является наиболее часто используемым форматом обмена векторными данными, однако он уже не так перспективен 🙅♂️ судя по сайту Switch from Shapefile, все уже движется в сторону Parquet/DuckDB/Arrow (Apache Iceberg and Parquet now support GEO + Geoparquet 2.0: Going Native).
February 17
Forwarded from настенька и графики
February 17
AI With R (An Introduction to Using LLMs With R)
Albert Rapp поделился предварительной версией мини-книги AI With R, которая представляет собой обобщение его видео из блога на YouTube.
Автор показывает, как работать с библиотекой {mall}, настроить библиотеку {ellmer}, использовать {ollamar}, извлекать данные из неструктурированных текстов уже в структурированном формате и планирует описать создание Shiny-чат ботов.
Из последнего также можно почитать пост Iterating on an app to create social media posts generating package using {shiny} and {ellmer} и Generating social media posts to promote blog posts with {shiny} and {ellmer} от Nic Crane.
Albert Rapp поделился предварительной версией мини-книги AI With R, которая представляет собой обобщение его видео из блога на YouTube.
Автор показывает, как работать с библиотекой {mall}, настроить библиотеку {ellmer}, использовать {ollamar}, извлекать данные из неструктурированных текстов уже в структурированном формате и планирует описать создание Shiny-чат ботов.
Из последнего также можно почитать пост Iterating on an app to create social media posts generating package using {shiny} and {ellmer} и Generating social media posts to promote blog posts with {shiny} and {ellmer} от Nic Crane.
February 18
Large Language Model tools for R
Luis D. Verde Arregoitia создал обновляемую постоянную веб-страницу соответствующих ресурсов по LLM в применении к R. Здесь расположены ссылки на R библиотеки и другие ресурсы, в частности, источники, видео и IDE инструменты.
Luis D. Verde Arregoitia создал обновляемую постоянную веб-страницу соответствующих ресурсов по LLM в применении к R. Здесь расположены ссылки на R библиотеки и другие ресурсы, в частности, источники, видео и IDE инструменты.
February 19
R Spatial Cookbook 🛰️ 🗺️
Philippe Massicotte сделал небольшую страницу R Spatial Cookbook с заметками по геопространственному анализу, в основном касающемуся ДЗЗ и R. Страница будет дополняться.
Philippe Massicotte сделал небольшую страницу R Spatial Cookbook с заметками по геопространственному анализу, в основном касающемуся ДЗЗ и R. Страница будет дополняться.
February 20
Building story maps with mapgl 🌏
Kyle Walker совершенствует библиотеку {mapgl}, о которой уже упоминалось на НиД. Карты историй — это эффективные современные инструменты для передачи повествований на основе карт. Здесь мы, прокручивая страницу, видим как отображаются различные элементы карты, сопровождаемые некоторым текстом.
Пример такой карты (live story map), где мы "перелетаем" от вида одной горной вершины к другой, доступен через Posit Cloud (+код на GitHub). Вживую выглядит очень здорово! 🔥
Если вам интересно, как можно создать подобную карту, то в этом поможет страница библиотеки.
Kyle Walker совершенствует библиотеку {mapgl}, о которой уже упоминалось на НиД. Карты историй — это эффективные современные инструменты для передачи повествований на основе карт. Здесь мы, прокручивая страницу, видим как отображаются различные элементы карты, сопровождаемые некоторым текстом.
Пример такой карты (live story map), где мы "перелетаем" от вида одной горной вершины к другой, доступен через Posit Cloud (+код на GitHub). Вживую выглядит очень здорово! 🔥
Если вам интересно, как можно создать подобную карту, то в этом поможет страница библиотеки.
February 21
Почему-то мне становится очень грустно, когда я смотрю на эту картину. Многие из вас ее видели, это Устный счет. В народной школе С. А. Рачинского. Задача, которую решают дети: найти в уме значение выражения (10^2 + 11^2 + ... + 14^2) / 365. Здесь изображен известный педагог - Сергей Александрович Рачинский (1833-1902), профессор Московского университета, народник, вернувшийся в родное село Татево, где он создал школу для крестьянских детей.
Решат ли современные дети подобную задачку для устного счета? Есть ли у них навыки терпения, требуемые для развития устного счета и не только? Предлагают ли сейчас детям учителя остроумные задачи? Могут ли учителя заинтересовать учеников?
А печально мне от того, что (при насыщенных "замечательных" школьных программах) я рассказываю взрослым мужикам заочникам как складывать дроби, первокурсники не знают свойств логарифмов, а абитуриенты с 4-кой по информатике не видели компьютера в глаза.
Всем продуктивных выходных! 👋
Решат ли современные дети подобную задачку для устного счета? Есть ли у них навыки терпения, требуемые для развития устного счета и не только? Предлагают ли сейчас детям учителя остроумные задачи? Могут ли учителя заинтересовать учеников?
А печально мне от того, что (при насыщенных "замечательных" школьных программах) я рассказываю взрослым мужикам заочникам как складывать дроби, первокурсники не знают свойств логарифмов, а абитуриенты с 4-кой по информатике не видели компьютера в глаза.
Всем продуктивных выходных! 👋
February 21
How to use a histogram as a legend in {ggplot2} 📊
Идею этого комплексного аннотирования в легенде {ggplot2} через функцию
Andrew Heiss в своем блоге делится, как можно комбинировать график (в его случае это карта) с легендой в виде гистограммы с помощью {ggplot2} и {patchwork}.
Этот пост сразу стал 🔥 популярным, однако можно пойти еще дальше - Teun van den Brand предлагает в своей библиотеке {legendry} ❤️ самые невероятные варианты работы как с легендой, так и подписями и другими элементами графиков.
Идею этого комплексного аннотирования в легенде {ggplot2} через функцию
annotation_custom()
я уже видел в одном из докладов на DC R-конференции ооочень давно (в 2019-м): Better DataViz in ggplot2: Tips, Tricks, and Examples, Alex Engler. Мне идея сразу запомнилась, и сейчас снова я вижу тоже самое в другом исполнении. Andrew Heiss в своем блоге делится, как можно комбинировать график (в его случае это карта) с легендой в виде гистограммы с помощью {ggplot2} и {patchwork}.
Этот пост сразу стал 🔥 популярным, однако можно пойти еще дальше - Teun van den Brand предлагает в своей библиотеке {legendry} ❤️ самые невероятные варианты работы как с легендой, так и подписями и другими элементами графиков.
February 24
Subway Stories: Building an Visualization w/ Transit Data 🚉
Согласно закону об открытых данных, который подписал губернатор Нью-Йорка, начиная с 2021 года стали доступными наборы данных о транспортном пассажиропотоке, которые теперь могут быть доступны и интерпретированы, что привело к запуску конкурса MTA Open Data Challenge в 2024 году. Визуализация, про которую я хочу рассказать, попала в финал конкурса.
Jediah Katz (старший инженер-программист в Figma) и Marc Zitelli (аналитик по обработке данных) сделали совершенно потрясающий проект Subway Stories как scrollytelling, и на семинаре New York Open Statistical Programming Meetup у Джареда Ландера (один из самых замечательных семинаров, связанных с наукой о данных) ✨ рассказали, как они этот проект реализовали, какие инструменты использовали.
Согласно закону об открытых данных, который подписал губернатор Нью-Йорка, начиная с 2021 года стали доступными наборы данных о транспортном пассажиропотоке, которые теперь могут быть доступны и интерпретированы, что привело к запуску конкурса MTA Open Data Challenge в 2024 году. Визуализация, про которую я хочу рассказать, попала в финал конкурса.
Jediah Katz (старший инженер-программист в Figma) и Marc Zitelli (аналитик по обработке данных) сделали совершенно потрясающий проект Subway Stories как scrollytelling, и на семинаре New York Open Statistical Programming Meetup у Джареда Ландера (один из самых замечательных семинаров, связанных с наукой о данных) ✨ рассказали, как они этот проект реализовали, какие инструменты использовали.
February 25
ggalign
Библиотека {ggalign} - это расширение ggplot2, которое позволяет работать со сложными наборами данных, требующими точного выравнивания по строкам, столбцам и даже внутри элементов графика. Например, это может быть тепловая карта, круговая диаграмма, но одно из основных ее применений - выравнивание дендрограмм и деревьев.
Хотя существующие инструменты предоставляют некоторые решения, они часто не обеспечивают гибкости, контроля и простоты, которые нужны пользователям для создания сложных и согласованных графиков.
Авторы библиотеки написали мини-книгу ggalign: Bridging the Grammar of Graphics and Complex layout в качестве документации.
👉 Ели вы хотите быть в курсе того, что происходит с {ggplot2} - заглядывайте на сайт ggplot2 extenders/ggplot2 extension club 🫖
Библиотека {ggalign} - это расширение ggplot2, которое позволяет работать со сложными наборами данных, требующими точного выравнивания по строкам, столбцам и даже внутри элементов графика. Например, это может быть тепловая карта, круговая диаграмма, но одно из основных ее применений - выравнивание дендрограмм и деревьев.
Хотя существующие инструменты предоставляют некоторые решения, они часто не обеспечивают гибкости, контроля и простоты, которые нужны пользователям для создания сложных и согласованных графиков.
Авторы библиотеки написали мини-книгу ggalign: Bridging the Grammar of Graphics and Complex layout в качестве документации.
👉 Ели вы хотите быть в курсе того, что происходит с {ggplot2} - заглядывайте на сайт ggplot2 extenders/ggplot2 extension club 🫖
February 26
Closeread Prize
Мы все ждали-ждали... Хорошо, я ждал. И что же? Объявлены победители премии Closeread Prize! Участники конкурса должны были создать scrollytelling-историю на основе библиотеки Closeread - расширения для Quarto. Это расширение позволяет создавать веб-истории, которые разворачиваются по мере того, как пользователь прокручивает страницу. Инструменты участников конкурса также включали в себя R, Python, Shiny и Javascript.
Главный приз получила работа EURO 2024 Final Scrollytelling Analysis by Óscar Bartolomé Pato, на мой взгляд не очень выразительная. А вот мне понравились простые, но наглядные работы от Nicola Rennie, Benjamin Nowak с работой A Journey Through France (почему-то на конкурсе я ее не видел), а также работа Eine kurze Geschichte der Arbeitszeit, которую сделал Matthias Schnetzer.
Мы все ждали-ждали... Хорошо, я ждал. И что же? Объявлены победители премии Closeread Prize! Участники конкурса должны были создать scrollytelling-историю на основе библиотеки Closeread - расширения для Quarto. Это расширение позволяет создавать веб-истории, которые разворачиваются по мере того, как пользователь прокручивает страницу. Инструменты участников конкурса также включали в себя R, Python, Shiny и Javascript.
Главный приз получила работа EURO 2024 Final Scrollytelling Analysis by Óscar Bartolomé Pato, на мой взгляд не очень выразительная. А вот мне понравились простые, но наглядные работы от Nicola Rennie, Benjamin Nowak с работой A Journey Through France (почему-то на конкурсе я ее не видел), а также работа Eine kurze Geschichte der Arbeitszeit, которую сделал Matthias Schnetzer.
February 26
Tanya Shapiro ✨
Таня из Санкт-Петербурга, но... не Таня, а все-таки Tanya Shapiro и St. Petersburg находится в штате Флорида, США. Tanya работает в SQL, Python, JavaScript и, конечно, в R. Она участвует в челленджах, делает визуальные проекты, активно участвует в R-Ladies и других сообществах.
Ее работы можно посмотреть на GitHub (+Personal Data Visualization Projects), на сайте, TidyTuesday-странице. Хорошей визитной карточкой является ее презентация Anything is Plotsible.
Таня из Санкт-Петербурга, но... не Таня, а все-таки Tanya Shapiro и St. Petersburg находится в штате Флорида, США. Tanya работает в SQL, Python, JavaScript и, конечно, в R. Она участвует в челленджах, делает визуальные проекты, активно участвует в R-Ladies и других сообществах.
Ее работы можно посмотреть на GitHub (+Personal Data Visualization Projects), на сайте, TidyTuesday-странице. Хорошей визитной карточкой является ее презентация Anything is Plotsible.
February 27
Ten Tremendous Tricks in the Tidyverse
Некоторое время тому назад David Robinson на своем YouTube канале каждую неделю исследовал данные из проекта TidyTuesday, которые были ему неизвестны заранее. 🔥 Увы, сейчас его скринкасты прекратились. Будем надеяться, что содержательных видео на YouTube и других платформах станет больше, а не Data-Science-Hangout/Python болтовни от Posit PBS.
Тем не менее, один из лучших докладов, который делал David: Ten Tremendous Tricks in the Tidyverse. Вот эти приемы:
1.
2. создание переменных в
3.
4.
5.
6.
7.
8.
9.
10.
Крайне рекомендую посмотреть, очень простые и полезные идеи!
Отмечу, что Olivier Gimenez также собрал свою страницу tidyverse-tips, где делится своими наблюдениями по мотивам скринкастов, которые делал David Robinson.
Некоторое время тому назад David Robinson на своем YouTube канале каждую неделю исследовал данные из проекта TidyTuesday, которые были ему неизвестны заранее. 🔥 Увы, сейчас его скринкасты прекратились. Будем надеяться, что содержательных видео на YouTube и других платформах станет больше, а не Data-Science-Hangout/Python болтовни от Posit PBS.
Тем не менее, один из лучших докладов, который делал David: Ten Tremendous Tricks in the Tidyverse. Вот эти приемы:
1.
count()
2. создание переменных в
count()
3.
add_count()
4.
summarize()
5.
fct_reorder()
+ geom_col()
+ coord_flip()
6.
fct_lump()
7.
scale_x/y_log10()
8.
crossing()
9.
separate()
10.
extract()
Крайне рекомендую посмотреть, очень простые и полезные идеи!
Отмечу, что Olivier Gimenez также собрал свою страницу tidyverse-tips, где делится своими наблюдениями по мотивам скринкастов, которые делал David Robinson.
February 28
February 28
The Next Generation of Data Science Education
R в браузере, R не требует установки, интерактивные обучающие материалы по языку R... Теперь все это возможно благодаря WebAssembly: WebR для R, а для Python благодаря Pyodide.
James Balamuta (Department of Statistics, Stanford) создал прекрасную страницу The Next Generation of Data Science Education с демонстрационными материалами, соединяющими эти технологии и Quarto Live как backend.
Также он поделился материалами своего доклада для Python версии технологий (обратите внимание, что в презентации в левом нижнем углу есть иконка, нажав на которую Python запускается прямо в презентации!):
▶️ Видео доклада
📊 Презентация
🔧 Репозиторий
R в браузере, R не требует установки, интерактивные обучающие материалы по языку R... Теперь все это возможно благодаря WebAssembly: WebR для R, а для Python благодаря Pyodide.
James Balamuta (Department of Statistics, Stanford) создал прекрасную страницу The Next Generation of Data Science Education с демонстрационными материалами, соединяющими эти технологии и Quarto Live как backend.
Также он поделился материалами своего доклада для Python версии технологий (обратите внимание, что в презентации в левом нижнем углу есть иконка, нажав на которую Python запускается прямо в презентации!):
▶️ Видео доклада
📊 Презентация
🔧 Репозиторий
March 3
Interactive R, Python, and Shiny in the Browser with Quarto and Shinylive
Isabella Velásquez сделала интересный доклад на митапе R-Ladies Rome, который называется Interactive R, Python, and Shiny in the Browser with Quarto and Shinylive.
Доклад в популярной форме показывает, как использовать интерактивный вариант RStudio, где искать webR-библиотеки, как включить интерактивные составляющие в Quarto документ, сделать Quarto Live или Shiny Live (см. также мое маленькое руководство) страницу, примеры таких страниц. Максимально полезно!
▶️ Видео доклада
📊 Презентация
🔧 Репозиторий
Isabella Velásquez сделала интересный доклад на митапе R-Ladies Rome, который называется Interactive R, Python, and Shiny in the Browser with Quarto and Shinylive.
Доклад в популярной форме показывает, как использовать интерактивный вариант RStudio, где искать webR-библиотеки, как включить интерактивные составляющие в Quarto документ, сделать Quarto Live или Shiny Live (см. также мое маленькое руководство) страницу, примеры таких страниц. Максимально полезно!
▶️ Видео доклада
📊 Презентация
🔧 Репозиторий
March 3
R in the Browser: WebAssembly Distribution for JupyterLite
Наступает эра для интерактивных вычислений в браузере, и недавно был анонсирован еще один проект - доступ языка программирования R в дистрибутиве Emscripten-Forge (это организация GitHub, содержащая рецепты для сборки пакетов conda для платформы emscripten-wasm32) для WebAssembly, который обеспечивает рабочие процессы R в JupyterLite через ядро Xeus-R Jupyter, что дает интересные перспективы в масштабировании.
Чтобы попробовать R в JupyterLite, перейдите по этой ссылке (файл
Наступает эра для интерактивных вычислений в браузере, и недавно был анонсирован еще один проект - доступ языка программирования R в дистрибутиве Emscripten-Forge (это организация GitHub, содержащая рецепты для сборки пакетов conda для платформы emscripten-wasm32) для WebAssembly, который обеспечивает рабочие процессы R в JupyterLite через ядро Xeus-R Jupyter, что дает интересные перспективы в масштабировании.
Чтобы попробовать R в JupyterLite, перейдите по этой ссылке (файл
demo.ipynb
). Подробности по созданию и дистрибутива и как выполнить развертывание с помощью пользовательских пакетов можно почитать в статье R in the Browser: Announcing Our WebAssembly Distribution, автор Isabel Paredes (в РФ понадобится VPN, поскольку это статья на Medium).March 3
Regenbogen палитры 🎨
Выбор цветовой палитры - это всегда непростая задача, уже было написано множество статей, выпущено огромное количество библиотек, создано множество коллекций.
Если нужны палитры "на каждый день", то классическим выбором будут Virdis, colorbrewer2.org, {ggsci}, если этого не хватит, то поможет R Color palettes + {paletteer}. Ну а если и этого будет мало - на это есть отдельная подборка.
Regenbogen - это отличный сайт (автор Jan Simson) с более чем 2400 палитрами.
Страница очень удобно устроена:
▫️ можно скопировать HEX-код отдельного цвета или сразу всей палитры 🌟
▫️ посмореть визуально, как все будет выглядеть на графиках 🎉
▫️ преобразовать текущую палитру в Colorblindness-версию 🔥
▫️ посмотреть примеры кода использования в R и Python 👌
Сайт напоминает Color Palette Finder (автор Yan Holtz), но (субъективно) выглядит интереснее.
Выбор цветовой палитры - это всегда непростая задача, уже было написано множество статей, выпущено огромное количество библиотек, создано множество коллекций.
Если нужны палитры "на каждый день", то классическим выбором будут Virdis, colorbrewer2.org, {ggsci}, если этого не хватит, то поможет R Color palettes + {paletteer}. Ну а если и этого будет мало - на это есть отдельная подборка.
Regenbogen - это отличный сайт (автор Jan Simson) с более чем 2400 палитрами.
Страница очень удобно устроена:
▫️ можно скопировать HEX-код отдельного цвета или сразу всей палитры 🌟
▫️ посмореть визуально, как все будет выглядеть на графиках 🎉
▫️ преобразовать текущую палитру в Colorblindness-версию 🔥
▫️ посмотреть примеры кода использования в R и Python 👌
Сайт напоминает Color Palette Finder (автор Yan Holtz), но (субъективно) выглядит интереснее.
March 4
Transport Data Science 🚴♂️ 🚉 🚎
Robin Lovelace, Professor of Transport Data Science (University of Leeds Institute for Transport Studies, UK) - это такой же титан в мире транспортных технологий и науке о данных в R, как, скажем, Geoff Boeing (автор OSMnx) в мире Python.
Новый курс Transport Data Science, который создает Robin, призван научить современным и перспективным навыкам для решения транспортных проблем с практическими примерами и воспроизводимыми рабочими процессами с использованием стандартных отраслевых инструментов науки о данных.
В основе курса используется язык программирования R, однако Python - еще один неплохой выбор, и многие из примеров фрагментов кода, которые сделаны на языке R, были перенесены в примеры Python.
Рекомендую посмотреть заметки всем тем, кто занимается транспортным планированием и смежными задачами.
Robin Lovelace, Professor of Transport Data Science (University of Leeds Institute for Transport Studies, UK) - это такой же титан в мире транспортных технологий и науке о данных в R, как, скажем, Geoff Boeing (автор OSMnx) в мире Python.
Новый курс Transport Data Science, который создает Robin, призван научить современным и перспективным навыкам для решения транспортных проблем с практическими примерами и воспроизводимыми рабочими процессами с использованием стандартных отраслевых инструментов науки о данных.
В основе курса используется язык программирования R, однако Python - еще один неплохой выбор, и многие из примеров фрагментов кода, которые сделаны на языке R, были перенесены в примеры Python.
Рекомендую посмотреть заметки всем тем, кто занимается транспортным планированием и смежными задачами.
March 5