Статьи

Использование класса R: R для учёных по лесному пожару

Эта запись является частью 14 из 14 серии Using R

Mazama Science только что закончила создание учебных материалов по использованию R для команды AirFire в лаборатории естественных наук о пожаре в Тихоокеанском регионе США, Сиэтл, штат Вашингтон. Эта команда ученых работает над мониторингом и моделированием выбросов от пожаров, дыма и качества воздуха. Команда AirFire предоставила разрешение на публикацию этих материалов для общественности, чтобы побудить ученых из других учреждений экспериментировать с R для их повседневной работы. Подробный учебный план следует.

Полный класс доступен по этому адресу:

http://mazamascience.com/Classes/PWFSL_2014/

Материалы класса разбиты на девять отдельных уроков, которые предполагают некоторый опыт написания кода, но не обязательно какое-либо знакомство с R. Autodidacts, плохо знакомый с R, должен пройти около 20-30 часов, чтобы закончить курс. Целевая аудитория этих материалов состоит из сотрудников USFS или аспирантов со степенью в области естественных наук и некоторого опыта использования научного программного обеспечения, такого как MATLAB или python. Уроки представлены в последовательном порядке и предполагают, что у ученика уже установлены R и RStudio на их компьютере. Дополнительные системные библиотеки, такие как NetCDF , необходимы для последующих уроков.

Вот основные наброски освещаемых тем.

Урок 01 — Первые шаги с R

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

Урок 02 — Работа с датафреймами

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

Урок 03 — ‘dplyr’ для сводной статистики

Урок 03 знакомит с пакетом dplyr и его основными функциями: filter (), select (), group_by (), sumrize () иrange (). Этот урок заканчивается набором задач, побуждающих студентов писать код, подобный следующему примеру, приведенному в уроке:

# Take the "fires" dataset
#   then filter for type == "WF"
#   then group by state
#   then calculate total area by state
#   then arrange in descending order by total
#   finally, put the result in wildfireAreaByState
fires %>%
  filter(type == "WF") %>%
  group_by(state) %>%
  summarize(total=sum(area, na.rm=TRUE)) %>%
  arrange(desc(total)) ->
  wildfireAreaByState

Урок 04 — Бары и пироги

На уроке 04 основное внимание уделяется функциям barplot () и pie () и связанным с ними настройкам построения графиков, так что учащиеся в конечном итоге преобразуют сводные таблицы из предыдущего урока в многопанельные графики

Lesson_04_4Donuts

Урок 05 — Простые карты

Урок 05 представляет пакет карт и использует его для построения данных о пожарах.

Lesson_05_maps

Урок 06 — Панель инструментов

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

Урок 07 — Первые шаги BlueSky

На уроке 07 представлен пакет ncdf4 для работы с выходными данными модели BlueSky, прогнозирующими пространственную протяженность и концентрацию пожара при пожаре. Урок посвящен процессу чтения и понимания файла NetCDF, а затем представляет скрипт для преобразования существующих файлов в модернизированные эквиваленты, с которыми легче работать.

Урок 08 — Работа с массивами

В модели квадратов сетки наборы данных , введенные в Уроке 07 сделаны доступными в качестве многомерных R массивов . Урок 08 описывает более подробно, как работать с массивами и как генерировать многомерную статистику с помощью функции apply (). К концу урока учащиеся должны быть в состоянии выполнять все более подробный анализ подмножеств данных.

Lesson_08_Exposure

Урок 09 — Работа с датами и временем

Урок 09 более детально описывает измерение времени и охватывает использование типа данных POSIXct и пакета lubridate , особенно для работы с часовыми поясами местного и UTC. Пакет openair также представлен специально для функций rollMean () и timeAverage (), которые упрощают сравнение временных рядов, определенных на разных временных осях, что очень важно при сравнении данных модели и датчика.


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

Лучший из Удачи Learning R!