Год | Иркутская область | Республика Бурятия |
---|---|---|
2006 | 1121 | 1206 |
2007 | 1585 | 1336 |
2008 | 1927 | 1086 |
2009 | 1583 | 1214 |
2010 | 901 | 686 |
1 Табличные данные
Подготовка данных к анализу и их «чистка» может занимать бóльшую часть времени, поэтому очень важно ввести определенные требования к исходным данным. Большинство данных, поступающих в информационных потоках для статистического анализа, представляют собой таблицы, имеющие строки и столбцы. Непосредственно массив табличных данных представляет собой набор значений, каждое из которых принадлежит своей переменной и наблюдению.
Упорядоченность или хаотичность данных зависит от того, как строки, столбцы и формирующие их таблицы, сопоставляются с наблюдениями, переменными и их типами. Вот некоторые распространенные проблемы при подготовке данных к анализу:
Отсутствующие имена заголовков, когда заголовки столбцов — это значения, а не имена переменных. Слишком длинные имена заголовков. Переменные хранятся как в строках, так и в столбцах.
Несколько переменных хранятся в одном столбце. Несколько значений хранится в одной ячейке, данные в одной ячейке не упорядочены. Одна единица наблюдения хранится в нескольких таблицах.
Разнородные данные: в одной таблице хранится несколько типов единиц измерения.
Проблема пропущенных значений, отсутствие обозначений для них.
1.1 Принцип «аккуратных данных»
Формулировке стандарта упорядоченных данных, проблемам организации и семантики данных, а также приведения данных к нормальной форме посвящена статья [1] Хадли Уикема, главного научного сотрудника RStudio Inc. (теперь Posit), в которой дано следующее определение «аккуратных данных» (или «опрятных данных»)1.
1 от англ. tidy data
Каждая переменная образует столбец.
Каждое наблюдение образует строку.
Каждый тип единицы наблюдения формирует таблицу.
Любое нарушение хотя бы одного из данных правил считается неупорядоченными данными. Аккуратные данные позволяют аналитику или компьютеру легко извлекать необходимые переменные, поскольку они обеспечивают стандартный способ структурирования набора данных. Такого рода стандартизация также упрощает функции агрегации, что гарантирует исключение ошибок на каждом этапе преобразования.
Большинство неупорядоченных наборов данных можно привести в соответствие с помощью небольшого набора инструментов: приведения к сводным таблицам (длинным или широким) и разделения таблиц.
В качестве примера, создадим простейшую таблицу, показывающую количество … в двух субъектах Байкальского региона2.
2 Для отображения таблицы в HTML-формате можно использовать команду kable(num)
библиотеки knitr
.
<-
num ::tribble(~"Год",
tibble~"Иркутская область",
~"Республика Бурятия",
2006, 1121, 1206,
2007, 1585, 1336,
2008, 1927, 1086,
2009, 1583, 1214,
2010, 901, 686)
num
Мы создали таблицу с 5-ю строками и 3-мя столбцами, указав их имена как ~"имя"
и перечислив значения. Полученная нами таблица не представляет собой аккуратные данные если мы примем, что имя региона является переменной. Поскольку мы поставили названия регионов в названия столбцов, следовательно каждая строка будет содержать более одного значения.
Покажем, как можно сделать данные из примера «аккуратными». Дело в том, что одни и те же данные можно представлять в широком и в длинном формате.
Широкий формат данных означает, что каждая строка в таблице данных содержит информацию о нескольких наблюдениях.
Длинный формат данных означает, что каждая строка в таблице данных содержит информацию об одном наблюдении.
Широкий формат данных применяется для представления данных в виде сводных таблиц, например, для презентации. Для обработки данных и их последующей визуализации применяется длинный формат данных, именно этот формат данных используется в понятии «аккуратные данные»3.
3 Автоматическое преобразование табличных данных из широкого формата в длинный и обратно будет рассмотрено далее.
После преобразования к длинному формату данных таблицы, рассмотренной в примере выше, данные становятся «аккуратными».
Год | Регион | Значения |
---|---|---|
2006 | Иркутская область | 1121 |
2006 | Республика Бурятия | 1206 |
2007 | Иркутская область | 1585 |
2007 | Республика Бурятия | 1336 |
2008 | Иркутская область | 1927 |
2008 | Республика Бурятия | 1086 |
2009 | Иркутская область | 1583 |
2009 | Республика Бурятия | 1214 |
2010 | Иркутская область | 901 |
2010 | Республика Бурятия | 686 |
Теперь каждая строка соответствует одному наблюдению и содержит уникальную информацию Год
, Регион
и Значение
— количество … (ед.).