Telegram Group Search
R Spatial Cookbook 🛰️ 🗺️

Philippe Massicotte сделал небольшую страницу R Spatial Cookbook с заметками по геопространственному анализу, в основном касающемуся ДЗЗ и R. Страница будет дополняться.
Building story maps with mapgl 🌏

Kyle Walker совершенствует библиотеку {mapgl}, о которой уже упоминалось на НиД. Карты историй — это эффективные современные инструменты для передачи повествований на основе карт. Здесь мы, прокручивая страницу, видим как отображаются различные элементы карты, сопровождаемые некоторым текстом.

Пример такой карты (live story map), где мы "перелетаем" от вида одной горной вершины к другой, доступен через Posit Cloud (+код на GitHub). Вживую выглядит очень здорово! 🔥

Если вам интересно, как можно создать подобную карту, то в этом поможет страница библиотеки.
Почему-то мне становится очень грустно, когда я смотрю на эту картину. Многие из вас ее видели, это Устный счет. В народной школе С. А. Рачинского. Задача, которую решают дети: найти в уме значение выражения (10^2 + 11^2 + ... + 14^2) / 365. Здесь изображен известный педагог - Сергей Александрович Рачинский (1833-1902), профессор Московского университета, народник, вернувшийся в родное село Татево, где он создал школу для крестьянских детей.

Решат ли современные дети подобную задачку для устного счета? Есть ли у них навыки терпения, требуемые для развития устного счета и не только? Предлагают ли сейчас детям учителя остроумные задачи? Могут ли учителя заинтересовать учеников?

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

Всем продуктивных выходных! 👋
How to use a histogram as a legend in {ggplot2} 📊

Идею этого комплексного аннотирования в легенде {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} ❤️ самые невероятные варианты работы как с легендой, так и подписями и другими элементами графиков.
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 у Джареда Ландера (один из самых замечательных семинаров, связанных с наукой о данных) рассказали, как они этот проект реализовали, какие инструменты использовали.
ggalign

Библиотека {ggalign} - это расширение ggplot2, которое позволяет работать со сложными наборами данных, требующими точного выравнивания по строкам, столбцам и даже внутри элементов графика. Например, это может быть тепловая карта, круговая диаграмма, но одно из основных ее применений - выравнивание дендрограмм и деревьев.

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

Авторы библиотеки написали мини-книгу ggalign: Bridging the Grammar of Graphics and Complex layout в качестве документации.

👉 Ели вы хотите быть в курсе того, что происходит с {ggplot2} - заглядывайте на сайт ggplot2 extenders/ggplot2 extension club 🫖
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.
Tanya Shapiro

Таня из Санкт-Петербурга, но... не Таня, а все-таки Tanya Shapiro и St. Petersburg находится в штате Флорида, США. Tanya работает в SQL, Python, JavaScript и, конечно, в R. Она участвует в челленджах, делает визуальные проекты, активно участвует в R-Ladies и других сообществах.

Ее работы можно посмотреть на GitHub (+Personal Data Visualization Projects), на сайте, TidyTuesday-странице. Хорошей визитной карточкой является ее презентация Anything is Plotsible.
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. 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.
Мои студенты на 2-м курсе попросили "какой-нибудь мем в TG-канале, а то давно не было". Так и быть.

Вот таким (бородатым) нетрадиционным способом я им напоминаю, чем отличается / slash от \ backslash. Помогает, правда, слабовато, уже не то поколение.

Хороших выходных! 👋
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 запускается прямо в презентации!):

▶️ Видео доклада
📊 Презентация
🔧 Репозиторий
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 (см. также мое маленькое руководство) страницу, примеры таких страниц. Максимально полезно!

▶️ Видео доклада
📊 Презентация
🔧 Репозиторий
R in the Browser: WebAssembly Distribution for 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).
Regenbogen палитры 🎨

Выбор цветовой палитры - это всегда непростая задача, уже было написано множество статей, выпущено огромное количество библиотек, создано множество коллекций.

Если нужны палитры "на каждый день", то классическим выбором будут Virdis, colorbrewer2.org, {ggsci}, если этого не хватит, то поможет R Color palettes + {paletteer}. Ну а если и этого будет мало - на это есть отдельная подборка.

Regenbogen - это отличный сайт (автор Jan Simson) с более чем 2400 палитрами.

Страница очень удобно устроена:

▫️ можно скопировать HEX-код отдельного цвета или сразу всей палитры 🌟
▫️ посмореть визуально, как все будет выглядеть на графиках 🎉
▫️ преобразовать текущую палитру в Colorblindness-версию 🔥
▫️ посмотреть примеры кода использования в R и Python 👌

Сайт напоминает Color Palette Finder (автор Yan Holtz), но (субъективно) выглядит интереснее.
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.

Рекомендую посмотреть заметки всем тем, кто занимается транспортным планированием и смежными задачами.
Geospatial Python 🐍 Tutorials

Страница Geospatial Python Tutorials предлагает заметки курсов по пространственному анализу и дистанционному зондированию Земли. В частности (помимо самой страницы) это два обстоятельных руководства

▫️ Python Foundation for Spatial Analysis
▫️ Mapping and Data Visualization with Python

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

Также будем ждать новых руководств в пособии GEO-PY in Urban Analytics от Беллы Мироновой (TG-канал 🌎🕊 GIS AND PEACE), который она обещала продолжить! ❤️
Вышел анонс уже 5-го ежегодного челленджа 30DayChartChallenge! 🌟

30 дней 📈 30 чартов 📊 5 категорий

‼️ Как принять участие?

🟡 выберите любые данные, которые вам нравятся
🟣 используйте любой инструмент, который вы хотите
🔴 отдавайте должное данным и источникам вдохновения
🔵 будьте дружелюбны и предоставляйте конструктивную обратную связь
🟠 делитесь своим датавизом

👉Ждем начала мероприятия c 5 апреля, тем временем:

📍 Информация по конкурсам прошлых лет
📍 Примеры визуализаций в R
HTML for People

1. Мини-книга HTML for People, автор которой Blake Watson, поможет освоить основы HTML в достаточно несложной форме, все достаточно просто и доступно.

2. Jeremy Howard создает достаточно интересные проекты, например, не так давно у нас был обзор на фреймворк FastHTML, который позволяет создавать веб-приложения полностью в Python. MonsterUI — это новая надстройка поверх FastHTML, которая предоставляет предварительно стилизованные компоненты на основе современных библиотек (таких как Tailwind, FrankenUI, DaisyUI). Возможно пригодится для тех, кто программирует на Python, но пока примеров маловато, хотелось чтобы была такая же большая галерея примеров хотя бы как для Quarto.
Дорогие леди (мамы, бабушки и не только), в преддверии замечательного праздника ❤️ я хочу пожелать вам здоровья, пусть все задуманное сбудется, мамам и бабушкам чтобы радовали дети и внуки! 🌷

Хороших выходных! 👋
Календари в R 📅

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

Здесь можно выделить две библиотеки: {calendR} и {ggcalendar}. Для того, чтобы получить таблицу с праздничными и выходными днями в календаре (а в примере на картинке учтены и предпраздничные дни), можно использовать подход Ильи + производственный календарь в JSON.

Очень красивый пример реализации календаря в R привела Nicola Rennie.
2025/03/11 02:16:52
Back to Top
HTML Embed Code: