Основы статистики
Импорт и подготовка данных
В этом разделе вы научитесь выполнять подготовительные действия для работы со статистическими данными: импортировать данные в виде матрицы из файла формата csv, просматривать сводную информацию по столбцам матрицы, создавать категориальные переменные и создавать новые таблицы на основе исходной таблицы.
Введение
Дарвиновы вьюрки характеризуются размерами клюва, различающимися между разными видами. Два главных вида вьюрков, обитающих на Галапагосских островах, – кактусовый земляной вьюрок (Geospiza scandens) и средний земляной вьюрок (Geospiza fortis). Данные, с которыми вы будете работать в этом курсе, представляют собой набор наблюдений и переменных, характеризующих эти наблюдения (вид птицы, длина и ширина клюва, а также год наблюдения).
Категориальные переменные разделяют данные на несколько групп. Первая категориальная переменная – вид птиц. Каждый вьюрок принадлежит одному из двух видов (или категорий) – кактусовый земляной вьюрок (scandens) или средний земляной вьюрок (fortis).
Вторая категориальная переменная – год наблюдения (несмотря на то, что это число). Наш набор данных содержит информацию о наблюдениях за вьюрками, разделенными промежутком в 37 лет: в 1975 г. и в 2012 г.
Чтобы определить, как изменились размеры клювов вьюрков за это время, мы будем использовать год в качестве категориальной переменной для группировки и сравнения результатов наблюдений.
Загрузка данных в Engee
Первый шаг – загрука данных в Engee.
Набор данных находится в файле finchData.csv. Здесь вы будете считывать данные в таблицу Engee и выполнять их обработку.
Выполните следующие строки кода, чтобы загрузить файл с данными:
using CSV, DataFrames;
data = CSV.read("finchData.csv", DataFrame)
Просмотреть сводную информацию по столбцам матрицы можно с помощью функции describe:
describe(data)
Категориальные переменные
Просмотрите сводку данных. Обратите внимание на информацию о видах вьюрков и годах наблюдения. Было бы более полезно просмотреть количество наблюдений для каждого вида и за каждый год. Вы можете увидеть эту информацию, если преобразуете эти переменные в категориальный тип.
Если данные представляют собой такую информацию, которая принимает значения из определенного перечня (небольшое количество дискретных значений), то эти данные представляются категориальными переменными. В языке Julia этот тип данных представлен переменными типа categorical из библиотеки CategoricalArrays. Для преобразования переменных в категориальный тип используется функция categorical, находящаяся в библиотеке CategoricalArrays. Для доступа к переменной в таблице и ее обновления используйте точечную нотацию:
tblData.VarName = categorical(tblData.VarName).
Как и в случае с таблицами, вы можете просмотреть сводную информацию о категориальной переменной с помощью функции describe.
Пример. Зададим вид вьюрков в виде категориальной переменной Species и просмотрим сводную информацию по ней.
using CategoricalArrays;
Species = categorical(data.Species)
describe(Species)
✏️Задание 1
Задайте год наблюдения в виде категориальной переменной с помощью функции categorical и просмотрите сводную информацию по ней с помощью функции describe.
Решение
using CategoricalArrays;
Year = categorical(data.Year)
describe(Year)
В 2012 году вьюрков стало примерно вдвое меньше, чем в 1975 году. Происходит ли это у обоих видов вьюрков?
Чтобы провести исследование, создайте отдельную таблицу для вида кактусовый земляной вьюрок (Geospiza scandens). Можно выбрать данные в соответствии с условием, используя оператор поэлементного равенства .==.
idxScandens = data.Species .== "scandens"
Чтобы создать новую таблицу, содержащую часть информации из исходной таблицы, нужно использовать индексацию строк и столбцов с помощью квадратных скобок. Можно использовать двоеточие (:), чтобы выделить все элементы строки или столбца. Например, этот код возвращает все столбцы таблицы tblData и только те строки, номера которых содержатся в векторе idx:
subTable = tblData[idx,:]
✏️Задание 2
Из исходной таблицы data создайте таблицу с именем scandens, выбрав все столбцы и только те номера строк, которые содержатся в векторе idxScandens. Выведите на экран сводную информацию по этой таблице с помощью функции describe.
Решение
scandens = data[idxScandens, :]
describe(scandens)
✏️Задание 3
Аналогично создайте таблицу fortis, содержащую только информацию о виде средний земляной вьюрок (Geospiza fortis). Выведите на экран сводную информацию по этой таблице.
Решение
idxFortis = data.Species .== "fortis"
fortis = data[idxFortis, :]
describe(fortis)
В период с 1975 по 2012 год на острове было две засухи, которые унесли жизни многих земляных вьюрков (fortis) из-за нехватки семян, их основной пищи. Однако кактусовые вьюрки (scandens) смогли выжить.
Тест для получения сертификата
Если вы впервые проходите тестирование на платформе Этюд по ссылке из Engee, то, нажав на ссылку ниже, вы увидите следующее диалоговое окно:
Нажмите на кнопку "Предоставить", чтобы авторизоваться на платформе Этюд с данными вашего профиля Engee ID.
Если вы раньше уже проходили тестирование по ссылке из Engee, то ваша авторизация выполнится автоматически и тестирование начнется сразу же после нажатия на ссылку.