На этой странице

Преобразование данных

Раздел Преобразование данных меняет данные с помощью правил. Правило задаётся один раз и сразу применяется, а когда меняются данные или одно из предыдущих правил, все правила по порядку выполняются заново. Правило можно в любой момент отредактировать или удалить. Импортированные данные при этом не затрагиваются: правила записывают результат в рабочую копию, а удаление правила восстанавливает всё, что оно изменило.

Как обработать опросник — перекодировать ответы, перевернуть обратные пункты, вычислить баллы по шкалам, — пошагово показано в руководстве по подсчёту баллов по опросникам.

Как пользоваться

  1. Загрузите файл и выберите переменные, с которыми будете работать
  2. Откройте Преобразование данных из меню и нажмите под списком Правила преобразования кнопку нужного типа правила (+ Перекодировка значений, + Разбиение на интервалы, + Стандартизация и другие): рядом откроется редактор правил
  3. Выберите входные переменные, настройте правило и укажите, куда записывать результат, сверяясь с панелью Просмотр, затем нажмите Сохранить правило — правило применится сразу
  4. Проверьте правило в списке Правила преобразования: на его карточке указано, из каких переменных правило берёт данные и в какие записывает результат, какие значения оно вывело из данных при последнем запуске и не завершился ли запуск ошибкой. Правила, которые пригодятся снова, храните в библиотеке правил
  5. Чтобы перестроить таблицу из широкого формата в длинный или обратно, воспользуйтесь конвертером таблиц: кнопки Широкий → длинный и Длинный → широкий находятся на карточке Конвертеры таблиц над правилами

Редактор правил

Кнопка типа правила открывает рядом со списком Правила преобразования редактор из четырёх панелей. Вверху — Входные переменные, где переменные, с которыми работает правило, выбирают щелчком или протягиванием по списку, и рядом Параметры вывода; под ними — Редактирование правила преобразования с названием и настройками правила и Просмотр. Каждому правилу нужна хотя бы одна входная переменная (формула, в которой объявлены выходные переменные, может обойтись без входных). Отмена закрывает редактор без сохранения, Сохранить правило сохраняет правило и сразу применяет его. Если правило сохранить нельзя (не заполнено поле, диапазон не прошёл проверку, в формуле ошибка), причина видна в просмотре уже во время ввода и повторяется при нажатии Сохранить правило. Ширину между настройками и просмотром можно перераспределить, перетащив разделительную линию. Положение линии запоминается, а двойной щелчок по ней возвращает исходное соотношение.

  • Название правила — под этим названием правило значится в списке, и по нему же правила сопоставляет библиотека правил. Если поле оставить пустым, правило получит название по методу или типу и первым трём входным переменным, например Z-оценка: height, weight. Пока правило настраивается, это название видно в поле серым.

Панель Просмотр выполняет правило в том виде, в каком оно задано в форме, ничего не сохраняя, и показывает первые 10 строк: выбранные входные переменные рядом с выходными (→ имя), пропуск обозначен знаком ∅. Под таблицей указано, сколько ячеек на выходе оказались пропущены, хотя на входе значение было, или приведена ошибка, если правило не выполняется. Собственные сводки отдельных типов правил остаются в настройках: точки разбиения, объединяемые уровни, состав композиции, совпадения регулярного выражения, подсчёт пропусков.

Настройки, общие для нескольких правил

  • Метод — что вычисляет правило, выбирается из списка. Дополнительные поля метода появляются под списком, там же выводится краткое определение выбранного метода. С этого списка начинается настройка разбиения на интервалы, объединения уровней, стандартизации и последовательности.
  • Внутри групп по — правило работает отдельно в каждой группе этой переменной (по группе вычисляются точки разбиения, среднее и SD, ранги, пороги, λ, значение для заполнения, по ней же идёт последовательность), и наблюдение оценивается относительно своей группы: z-оценка внутри класса, тертили внутри центра, предыдущая строка того же испытуемого, а не строка выше в файле. Наблюдение без группы получает пропуск при разбиении на интервалы, стандартизации и последовательности. При разбиении и стандартизации пропуск получают и все наблюдения группы, где нет ни одной числовой ячейки. При заполнении пропусков такие наблюдения остаются как есть. В описании правила указаны группирующая переменная, число групп и значение, выведенное для каждой группы. Настройка есть у разбиения на интервалы (кроме заданных точек разбиения: они везде одинаковы), у стандартизации, последовательности и способов заполнения, вычисляющих значение по данным.
  • Упорядочить по — строки обрабатываются в порядке возрастания этой переменной, а не в порядке файла: как числа, если все значения числовые, иначе по алфавиту. Сам набор данных не переупорядочивается. Наблюдение без значения этой переменной получает пропуск в правиле последовательности, а при заполнении остаётся как есть и ничего не переносит. Настройка есть у правила последовательности и у трёх способов заполнения, зависящих от порядка строк.
  • Нет — без групп или в порядке файла: правило обрабатывает весь столбец целиком, в исходном порядке строк.

В обоих списках есть все переменные набора данных. Пока правило существует, переменная, выбранная в любом из них, защищена так же, как входная.

Типы правил

Перекодирование значений

Заменяет отдельные значения новыми по таблице соответствий: одна строка — одно значение. При выборе входных переменных их различные значения (по всем выбранным переменным вместе, в порядке сортировки уровней) заносятся в столбец Старое значение, а уже введённые соответствия при смене выбора сохраняются. Добавить строку добавляет значение, которого в данных нет. Сохраняется только строка, где заданы и старое, и новое значение. Что станет со значениями, которых нет в таблице, решает строка Все остальные значения, а пропуски остаются пропусками.

  • Старое значение — заменяемое значение. Оно сравнивается с текстом ячейки, поэтому введённая 1 совпадёт и с числом 1, и с текстом «1».
  • Новое значение — во что превращается значение. Если оно распознаётся как число, то и записывается числом, так что перекодированный столбец остаётся числовым. Нажмите ∅ рядом с полем, чтобы вместо значения получился пропуск.
  • Все остальные значения — последняя строка таблицы: что происходит с заполненной ячейкой, для которой не нашлось строки. Такая же строка есть у перекодирования диапазонов. Пропуск в любом случае остаётся пропуском.
  • Оставить как есть — ячейка не меняется. Вариант по умолчанию.
  • Пропуск (∅) — ячейка становится пропуском, так что сохраняются только перекодированные значения.
  • Значение — ячейка получает константу, введённую рядом со списком (число записывается как число). Если выбран этот вариант, поле обязательно.
  • Заполнить пустые коды — нумерует значения одним нажатием, когда категориальную переменную нужно превратить в числовые коды: выберите порядок и нажмите Заполнить. Заполняются только пустые ячейки Новое значение, так что введённый вами код сохраняется, а номер строки определяется её местом в выбранном порядке, независимо от того, заполнены ли остальные строки.
  • 1…k в порядке уровней — 1 для первого значения в порядке сортировки, 2 для следующего и так далее.
  • 1…k по частоте — 1 для самого частого значения, 2 для следующего по частоте.
  • 0…k−1 в порядке уровней — тот же порядок уровней, но счёт начинается с 0.

Перекодирование диапазонов

Заменяет значения из числовых диапазонов выходными значениями, по строке на диапазон. Обе границы входят в диапазон. Пустая граница означает открытый конец: строка, где задан только Макс, охватывает всё до этого значения, а строка только с Мин — всё начиная с него. В строке нужны хотя бы одна граница и выходное значение. Редактор не примет диапазон, у которого минимум больше максимума, и два пересекающихся диапазона, даже если у них общая только граница, так что каждому значению соответствует не больше одной строки. Что станет со значениями вне всех диапазонов (в том числе с нечисловыми ячейками), решает строка Все остальные значения. Пропуски остаются пропусками. Если в выбранных переменных есть значения, попадающие между диапазонами, их число указано под таблицей. Добавить строку добавляет диапазон.

  • Мин — нижняя граница, включительно. Если поле пустое, нижней границы нет.
  • Макс — верхняя граница, включительно. Если поле пустое, верхней границы нет.
  • Значение — значение, которое получает каждая ячейка диапазона (число записывается как число). Нажмите ∅ рядом с полем, чтобы диапазон стал пропуском. Чтобы убрать значения вне всех диапазонов, выберите в строке Все остальные значения вариант Пропуск (∅).

Разбиение на интервалы

Делит числовую переменную на упорядоченные интервалы (деление по медиане, тертили, возрастные группы): Метод задаёт точки разбиения, а Метки интервалов — названия интервалов. Интервалы полуоткрыты: значение, равное точке разбиения, попадает в интервал выше неё, а крайние интервалы не ограничены, так что любое число попадает в какой-нибудь интервал. Пропуски остаются пропусками, а нечисловая ячейка становится пустой, так что столбец без единой числовой ячейки становится пустым целиком.

  • Квантили (равные частоты) — точки разбиения ставятся в квантилях j/k наблюдаемых значений, так что в интервалы попадает поровну наблюдений: Число интервалов 2 даёт деление по медиане, 3 — тертили, 4 — квартили. При большом числе совпадающих значений точка может прийтись на минимум. Такая точка отбрасывается, чтобы не оставлять пустой интервал, поэтому интервалов может получиться меньше, чем задано, и предпросмотр об этом сообщает.
  • Равная ширина — точки разбиения с равным шагом между наблюдаемыми минимумом и максимумом: интервалы одинаковой ширины, сколько бы значений в них ни попало.
  • Заданные точки разбиения — список Точки разбиения через запятую, один и тот же на любом наборе данных.
  • Число интервалов — k, целое число не меньше 2, для двух методов, вычисляющих точки по данным.
  • Точки разбиения — заданный список через запятую, в любом порядке. Каждая точка открывает новый интервал, так что k точек дают k + 1 интервал: значения ниже первой точки и выше последней попадают в крайние интервалы.
  • Метки интервалов — как интервалы называются в выходном столбце.
  • 1, 2, 3, … — номер интервала, считая от нижнего. Столбец остаётся числовым.
  • Текст интервала — интервал в виде текста (< 30, [30, 65), ≥ 65). Точки разбиения записаны с шестью значащими цифрами, поэтому их можно точно скопировать в перекодирование диапазонов.
  • Заданный список — ваши собственные метки из поля Метки.
  • Метки — через запятую, по одной на интервал, начиная с нижнего. Их должно быть столько же, сколько интервалов.

Точки разбиения, выведенные из данных, пересчитываются при каждом запуске. Предпросмотр Точки разбиения по данным показывает их для текущего выбора (по группам, если группа задана), а описание правила фиксирует точки последнего запуска. Чтобы закрепить их, скопируйте точки в перекодирование диапазонов. Со списком Внутри групп по точки разбиения вычисляются отдельно в каждой группе второй переменной, и тертили делят группу, к которой относится наблюдение, а не всю выборку (см. общие настройки). Заданные точки разбиения везде одинаковы, поэтому для них список скрыт.

Фиктивные переменные

Превращает одну категориальную переменную в набор числовых столбцов-индикаторов, по одному на уровень, с именами <variable>_<level>. Так же перекодирует категориальный предиктор и сама регрессия (см. фиктивное кодирование). Модули регрессии делают это автоматически, а правило пригодится, когда нужны именно столбцы: для формулы, экспорта, корреляции с индикатором. Правило принимает ровно одну входную переменную и всегда создаёт собственные столбцы, а панель Обнаруженные выходные переменные перечисляет их и обновляется при каждом изменении настроек. Пропуск на входе даёт пропуск во всех столбцах. Уровни заново определяются по данным при каждом запуске, поэтому набор столбцов меняется вместе с данными: перекодировка выше по списку, сливающая два уровня, убирает один столбец.

  • Кодирование — какими числами заполняются столбцы-индикаторы.
  • Фиктивное кодирование (0/1) — по столбцу 0/1 на каждый уровень, кроме опорного, с единицей в строках этого уровня.
  • Кодирование эффектов (−1/0/1) — по столбцу на каждый уровень, кроме опорного: 1 в строках этого уровня, −1 в строках опорного, 0 в остальных. Коэффициенты регрессии тогда показывают отклонения от общего среднего, а не от опорного уровня.
  • Опорный уровень — уровень без собственного столбца, с которым сравниваются остальные (см. опорную категорию).
  • Первый уровень — первый уровень в порядке сортировки, как в модулях регрессии.
  • Самый частый уровень — уровень с наибольшим числом наблюдений.
  • {level} (n = {count}) — один из уровней самой переменной, с его частотой. Если выбранного уровня в данных больше нет, берётся первый, и описание правила об этом сообщает.
  • По столбцу на каждый уровень, включая опорный — k столбцов вместо k − 1. Вместе со свободным членом такие столбцы коллинеарны, и регрессия отбросит один из них, поэтому вариант нужен для экспорта или формулы. Есть только у фиктивных переменных.

Объединение уровней

Сводит редкие уровни категориальной переменной в один, например многочисленные единичные ответы в поле свободного ввода или клетки с одним-двумя наблюдениями, с которыми не справится таблица сопряжённости. Валидные ячейки редких уровней получают значение из поля Метка объединённого уровня, а остальные ячейки, включая пропуски, остаются как есть, так что фактор с числовыми кодами сохраняет свои числа. Выберите Метод и введите порог в поле под списком — его название зависит от метода.

  • Минимальное число наблюдений — объединяется уровень, в котором наблюдений меньше заданного минимума. Пять — обычная нижняя граница для ожидаемых частот таблицы сопряжённости. В поле вводится целое число наблюдений не меньше 1.
  • Минимальная доля наблюдений — объединяется уровень, доля которого среди валидных ячеек меньше заданной, так что порог в наблюдениях растёт вместе с n. В поле вводится доля в процентах.
  • Оставить k самых частых уровней — k самых частых уровней остаются, все прочие объединяются. При равенстве частот на границе остаётся уровень, стоящий раньше в порядке сортировки. В поле вводится k.
  • Метка объединённого уровня — значение, которое получают редкие уровни, по умолчанию «Прочие». Поле обязательно.

Предпросмотр Уровни, объединяемые сейчас перечисляет с частотами уровни, которые объединятся при текущем выборе, и показывает, сколько уровней останется. Набор пересчитывается при каждом запуске, а описание правила фиксирует уровни, объединённые последним запуском. Чтобы закрепить набор, скопируйте уровни в перекодирование значений.

Лог-отношения

Для композиционных данных — частей, которые в сумме дают константу: долей, бюджетов времени, состава рациона, численностей микробиома. Исходные части нельзя подавать в корреляцию, регрессию или кластеризацию: из-за постоянной суммы между частями обязательно есть хотя бы одна отрицательная корреляция, каким бы ни был порождающий их процесс, а часть может расти только за счёт остальных. Стандартное средство здесь — преобразование лог-отношений. Выберите части в качестве входных переменных (не меньше двух, они берутся в порядке столбцов) и укажите Преобразование: правило создаст по столбцу на координату и перечислит их в панели Обнаруженные выходные переменные. Сначала каждая строка приводится к долям, поэтому счётные данные и проценты преобразуются одинаково. Строка с пропущенной, нечисловой или отрицательной частью или с нулевой суммой получает пропуск во всех столбцах, а описание правила сообщает, сколько таких строк.

  • Преобразование — какие координаты лог-отношений записывает правило.
  • Центрированное лог-отношение (CLR) — ln⁡(x/g(x)), каждая часть относительно геометрического среднего строки, по столбцу на часть с именем clr_<part>. Столбец показывает положение части относительно центра строки, его удобно использовать в графиках и описательных статистиках. Сумма столбцов в строке равна 0, поэтому их ковариационная матрица вырождена: если модели нужен набор полного ранга, берите ILR.
  • Аддитивное лог-отношение (ALR) — ln⁡(x/xD) относительно части, выбранной в поле Часть-знаменатель, по столбцу на каждую другую часть с именем alr_<part>. Подходит, когда есть естественная опорная часть (контрольное условие, основа смеси), но координаты зависят от знаменателя, а расстояния между строками не сохраняются.
  • Изометрическое лог-отношение (ILR) — k − 1 ортонормированных балансов в опорной последовательности: каждая часть по порядку столбцов сопоставляется с геометрическим средним следующих за ней частей, а столбец называется ilr_<part> по этой опорной части. Расстояния сохраняются, поэтому именно этот набор подходит для любого метода, который вычисляет расстояния или строит модель по координатам: регрессии, кластеризации, АГК.
  • Часть-знаменатель — часть, на которую делятся все остальные. Собственного столбца она не получает. Если сохранённого знаменателя больше нет среди частей, берётся последняя часть. Только для ALR.
  • Нулевые части — что делать со строкой, где одна из частей равна 0: у нуля нет логарифма.
  • Мультипликативная замена на δ — нулевая часть заменяется малой долей δ, а остальные части уменьшаются, чтобы сумма строки по-прежнему равнялась 1. Если при таком δ на нули пришлась бы вся сумма строки, строка получает пропуск.
  • Сделать строку пропуском — строка получает пропуск во всех столбцах.
  • δ — величина замены как доля суммы строки, от 0 до 1. Если оставить поле пустым, δ вычисляется при каждом запуске как 0.65 от наименьшей ненулевой доли в данных и показывается в описании правила. Если известен предел обнаружения, введите 0.65 от него.

Предпросмотр Композиция подсчитывает части, строки с нулевой частью и строки с пропущенной или отрицательной частью и показывает, какое δ получится при пустом поле. В отчёте укажите преобразование, порядок частей или знаменатель и способ обработки нулей вместе с δ.

Формула

Математическое выражение, которое вычисляется построчно. Выбранные входные переменные обозначаются v1, v2, v3 … в порядке выбора (на панели входных переменных рядом с каждой появляется метка-ссылка), а диапазон v1:v7 раскрывается во все переменные промежутка, что удобно с агрегирующими функциями. При редактировании правила каждая входная переменная сохраняет свой номер: новая выбранная переменная получает следующий, а если снять выбор с одной из переменных, следующие за ней сдвигаются на её место.

(v1 + v2) / 2
sum(v1:v7) / 7

Доступны три специальные переменные: i — номер текущей строки (с единицы), v — текущее значение обрабатываемой переменной при замене на месте и c — весь столбец текущей переменной в виде массива.

Формула с объявлениями @ создаёт в одном правиле несколько новых переменных, по одной на строку. В строке можно ссылаться на переменные, объявленные выше, а панель Обнаруженные выходные переменные показывает, будет ли каждая выходная переменная новой или заменит существующую:

@Total = v1 + v2 + v3
@Average = @Total / 3
@Centered = @Total - (mean(c1) + mean(c2) + mean(c3))

Формулу с ошибкой или со ссылкой @, которая не указывает ни на одно объявление выше, сохранить нельзя: сообщение называет объявление и ошибку. Нельзя сохранить и формулу без @, которая не использует ни v, ни c, но должна записать несколько выходных переменных, — все они получились бы одинаковыми. Чтобы получить один результат, дайте ему имя: @diff = …. Для отдельного результата по каждой входной переменной используйте v или c.

Пустая ячейка — это пропуск, а не 0: арифметика с ней оставляет строку пустой, а sum, mean и другие агрегирующие функции её пропускают. Эти правила, проверки на пропуск и полный список операторов и функций приведены в справочнике формул. Редактор подсвечивает синтаксис и парные скобки, подчёркивает синтаксическую ошибку по мере ввода и предлагает автодополнение: начните вводить имя переменной или функции, и появится список вариантов (Ctrl+Space открывает его, Tab принимает вариант). Под редактором, в строке Доступные функции (Математика, Агрегирование, Текст, Даты, Условия, Многопеременные), название группы функций ведёт к её разделу справочника формул, который открывается в новой вкладке.

Замена по регулярному выражению

Выполняет поиск и замену по регулярному выражению в тексте каждой ячейки отдельно. Пропуск остаётся пропуском, а число обрабатывается как текст. Синтаксис шаблонов описан в справочнике регулярных выражений.

  • Шаблон поиска — что искать. Ошибка в шаблоне показывается под полем, и сохранить правило нельзя, пока шаблон не исправлен.
  • Заменяющий текст — во что превращается каждое совпадение. На место $1, $2 … подставляются группы захвата из шаблона.
  • Глобально — заменять в ячейке все совпадения, а не только первое. Включено по умолчанию.
  • С учётом регистра — различать прописные и строчные буквы. Если выключено, a совпадает с A. Включено по умолчанию.
  • Многострочный режим — ^ и $ совпадают с началом и концом каждой строки внутри ячейки, а не только всей ячейки.

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

Стандартизация

Постолбцовое преобразование: параметры (среднее, SD, размах, пороги, λ) вычисляются один раз по валидным числовым ячейкам столбца, после чего преобразуется каждая ячейка. Выберите Метод из шести групп, и под списком появятся его дополнительные поля. Пропуски остаются пропусками, а нечисловая ячейка становится пропуском, так что столбец без единой числовой ячейки целиком становится пропущенным. На других данных (другом файле, более позднем импорте в тот же проект) правило пересчитывает всё заново, а в его описании показаны значения, выведенные при последнем запуске. Со списком Внутри групп по метод применяется отдельно в каждой группе второй переменной — например, z-оценки внутри каждого класса или процентильные ранги внутри каждой возрастной группы (см. общие настройки).

Стандартизация

  • Z-оценка — (x−mean)/SD, так что у столбца среднее 0 и SD 1 (см. z-оценку). Постоянный столбец превращается в нули.
  • Стандартная оценка — (x−mean)/SD⋅s+m, то есть z-оценка, перенесённая на шкалу из поля Целевая шкала со средним m и SD s: для T-оценок это 50 и 10, для шкалы IQ — 100 и 15. Постоянный столбец превращается в m.
  • Целевая шкала — Среднее значение и SD стандартных оценок. Пустые поля означают шкалу T-оценок (50 и 10), а SD должно быть положительным.
  • Робастная z — (x−median)/(1.4826⋅MAD): та же идея, но с медианой и медианным абсолютным отклонением (MAD), устойчивыми к единичным выбросам. При нулевом MAD результат равен 0.
  • Центрировать по среднему — вычитает среднее, сохраняя исходные единицы.
  • Центрировать по медиане — вычитает медиану, сохраняя исходные единицы.

Масштабирование

  • Мин-макс (0–1) — (x−min⁡)/(max⁡−min⁡) по наблюдаемому размаху. Постоянный столбец превращается в 0.5.
  • POMP (0–100) — процент от максимально возможного, 100⋅(x−min⁡)/(max⁡−min⁡) по полю Диапазон шкалы, так что шкала 1–5 и шкала 0–10 приводятся к одной метрике 0–100.
  • Обратное кодирование — (min⁡+max⁡)−x по диапазону шкалы, так что пункт 1–5 превращается в 5–1. Так обычно обрабатывают обратно сформулированный пункт перед суммированием шкалы (см. обратное кодирование), а пошагово это разобрано в руководстве по подсчёту баллов по опросникам. Если пункты могут понадобиться для IRT-анализа, сохраните исходные значения — выберите Создать новые переменные, а не Заменить исходные значения: этот модуль сам переворачивает пункты, а для проверки на небрежные ответы ему нужны ответы в исходном виде.
  • Диапазон шкалы — наименьшее и наибольшее допустимые значения шкалы (поля Мин и Макс) для POMP и обратного кодирования. Вводите собственные пределы шкалы: незаданная граница при каждом запуске берётся из данных, и тогда в описании правила показан наблюдаемый размах, на который пришлось опереться.

Ранги

Столбец рангов или нормальных оценок сохраняет порядок значений, но отбрасывает расстояния между ними, поэтому сильно скошенную переменную можно подать в метод, которому нужны примерно нормальные данные. Плата за это — разности между оценками больше не выражены в исходных единицах (см. ранг).

  • Средние ранги — от 1 до n по возрастанию, совпадающие значения получают средний ранг.
  • Процентильные ранги — 100⋅(rank−0.5)/n: процент наблюдений ниже значения, причём совпадающие с ним наблюдения идут в счёт наполовину.
  • Нормальные оценки (Блом) — Φ−1((rank−3/8)/(n+1/4)), ожидаемый квантиль нормального распределения для ранга, так что столбец получает нормальную форму распределения, какой бы ни была исходная.
  • Нормальные оценки (ван дер Варден) — Φ−1(rank/(n+1)), квантиль нормального распределения для эмпирической вероятности каждого ранга.
  • По убыванию — ранг 1 получает наибольшее значение: перед вычислением оценки ранги отражаются, n+1−rank, так что наибольшему значению достаются первый ранг, наименьший процентиль и наименьшая нормальная оценка.

Выбросы

  • Винзоризация — значения за порогом заменяются самим порогом: хвосты подрезаются, а n не меняется.
  • Усечение — значения за порогом становятся пропусками.
  • Пометка — 1 для значения за порогом, 0 для остальных: индикатор выброса в виде столбца, сами значения не затрагиваются.
  • Порог — где начинаются хвосты: один из трёх способов задать порог и число рядом с ним. Пустое поле означает значение по умолчанию для выбранного способа, а описание правила показывает пороги, выведенные последним запуском (см. выброс).
  • Процентиль, с каждого хвоста — процентиль в каждом хвосте, меньше 50, по умолчанию 5, то есть 5-й и 95-й процентили.
  • SD от среднего — число SD по обе стороны от среднего, по умолчанию 3. Это правило z-оценки, и его порог расширяется из-за тех самых выбросов, которые оно должно находить.
  • MAD от медианы — число масштабированных MAD по обе стороны от медианы, по умолчанию 3. Это правило модифицированной z-оценки, и сдвинуть его порог выброс не может.

Преобразование

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

  • Натуральный логарифм — ln x, обычное средство от правосторонней асимметрии и естественный выбор, когда эффекты мультипликативны: доход, время реакции, счётные данные. Столбец с нулевой или отрицательной ячейкой сначала сдвигается на 1 − min, так что наименьшая ячейка становится равной 1.
  • Десятичный логарифм — log₁₀ x: форма та же, но единицей служит порядок величины. При нулевой или отрицательной ячейке столбец сдвигается на 1 − min.
  • log(1 + x) — ln(1 + x), логарифм для счётных данных с нулями. Столбец, где есть ячейка не больше −1, сначала сдвигается на −min.
  • Квадратный корень — √x, средство мягче логарифма. Столбец с отрицательной ячейкой сначала сдвигается на −min, так что наименьшая ячейка становится равной 0.
  • Обратная величина (1/x) — 1/x, самое сильное из этих средств, к тому же меняющее порядок значений на обратный. При нулевой или отрицательной ячейке столбец сдвигается на 1 − min.
  • Бокс — Кокс — (xλ−1)/λ, а при λ = 0 — ln x, для положительных данных. Здесь показатель степени подбирается по данным, поэтому именно это преобразование стоит брать по умолчанию, когда нет причин предпочесть конкретный показатель. Если оставить поле λ пустым, λ оценивается методом максимального правдоподобия при каждом запуске. Столбец с нулевой или отрицательной ячейкой сначала сдвигается на 1 − min.
  • Йео — Джонсон — семейство Бокса — Кокса, расширенное на нулевые и отрицательные значения. λ задаётся так же, а сдвиг не нужен.
  • λ — показатель степени. Введённое значение применяется как есть (1 оставляет форму без изменений, 0.5 даёт квадратный корень, 0 — логарифм, −1 — обратную величину), а при пустом поле λ оценивается по данным при каждом запуске и показывается в описании правила. Оценка λ зависит от данных, и при повторении исследования она будет другой, поэтому указывайте в отчёте применённое значение.

Доли

  • Логит — ln⁡(p/(1−p)) для доли p в [0, 1]: преобразование растягивает края шкалы, чтобы ограниченный отклик можно было подать в линейную модель. Ячейка вне [0, 1] становится пропуском, как и ячейка, равная ровно 0 или 1: сдвиг не применяется, поэтому счётные данные сначала разделите на общую сумму.
  • Арксинус квадратного корня — arcsin⁡p, стабилизирующее дисперсию преобразование для биномиальных долей. Ячейка вне [0, 1] становится пропуском.

Последовательность

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

  • Лаг — x₋ₖ, значение на k строк раньше, как есть. Первые k строк получают пропуск.
  • Опережение — x₊ₖ, значение на k строк позже, как есть. Последние k строк получают пропуск.
  • Разность за k строк — x − x₋ₖ, или пропуск, если пуста любая из двух ячеек.
  • Процентное изменение от предыдущей строки — (x−x−1)/x−1 в долях (умножьте на 100, чтобы получить проценты). Пропуск, если пуста любая из ячеек или предыдущая равна 0.
  • Накопленная сумма — сумма строки и всех строк до неё. Пустые ячейки не учитываются, как в sum(v1:v7), а до первой валидной ячейки стоит пропуск.
  • Скользящее среднее по w строкам — среднее w строк, которые заканчиваются данной, без учёта пустых ячеек, так что в первых w − 1 строках окно короче и усредняются все строки до данной включительно. Пропуск — только если в окне нет ни одной валидной ячейки.
  • k — на сколько строк назад или вперёд, целое число не меньше 1. Пустое поле означает 1, то есть предыдущую или следующую строку. Для лага, опережения и разности.
  • w — сколько строк охватывает среднее, включая саму строку, целое число не меньше 1. Пустое поле означает 3.

С помощью списков Внутри групп по и Упорядочить по правило корректно обрабатывает панельные данные: берёт предыдущую строку того же испытуемого, а не строку выше в файле, и идёт в порядке переменной времени, а не в порядке файла (см. общие настройки). Наблюдение без группы или без значения порядка получает пропуск. Описание правила показывает метод, k или w, группирующую переменную с числом групп и переменную порядка.

Пропущенные значения

Поле Действие задаёт один из двух режимов. Режим применяется к каждой выбранной переменной с обычными параметрами вывода, а область Просмотр показывает по каждой переменной (и группе), что правило сделает при текущих настройках.

  • Действие — что правило делает со столбцом: объявляет коды пропусков или заполняет пустые ячейки.
  • Объявить коды пропусков — ячейки, где стоит один из кодов из поля Коды пропусков, становятся пропусками, так что служебный код больше не принимается за значение. Остальные ячейки не меняются, а столбец, где был текстовый код, после его удаления становится числовым. Просмотр подсчитывает по каждой переменной ячейки, совпавшие с кодами (см. коды пропусков).
  • Коды пропусков — через запятую, например -999, 99, N/A. Код сравнивается с текстом ячейки — так же, как старое значение при перекодировании значений.
  • Заполнить пропущенные ячейки — каждая пропущенная ячейка получает значение, выбранное в поле Чем заполнить. Это единичная импутация: SD заполненного столбца уменьшается, его корреляции с другими переменными ослабевают, а n выглядит так, будто пропусков не было (см. импутацию). В самих анализах неполные наблюдения обрабатывает настройка пропущенных данных, не трогая данные, а заполнять здесь стоит тогда, когда следующему шагу нужен полный столбец — для суммы по шкале, экспорта, ряда с лагом.
  • Чем заполнить — откуда берётся значение. Столбец или группа, по которым нечего вычислить, не меняются, а описание правила фиксирует значения, подставленные при последнем запуске.
  • Среднее валидных ячеек — среднее числовых ячеек столбца, пересчитывается при каждом запуске.
  • Медиана валидных ячеек — медиана числовых ячеек столбца, пересчитывается при каждом запуске.
  • Мода — самое частое значение любого типа, при равенстве — первое в порядке сортировки. Записывается в том виде, в каком хранится исходная ячейка, так что числовой столбец остаётся числовым.
  • Константа — значение из поля Константа в каждую пропущенную ячейку.
  • Константа — значение для заполнения, как введено (число записывается как число). Обязательно при заполнении константой.
  • Перенос последнего наблюдения вперёд (LOCF) — ближайшее предыдущее валидное значение, по всему столбцу, если группа не задана. Ячейки до первой валидной остаются пропусками.
  • Перенос следующего наблюдения назад (NOCB) — ближайшее последующее валидное значение, по всему столбцу, если группа не задана. Ячейки после последней валидной остаются пропусками.
  • Линейная интерполяция — значение на прямой между ближайшими числовыми ячейками с обеих сторон. Нечисловая ячейка считается разрывом, а ячейки до первой и после последней числовой остаются пропусками. По оси x откладывается номер строки или значение переменной Упорядочить по, если оно числовое, так что разрыв в три недели заполняется соразмерно трём неделям, а не числу строк.

Со списком Внутри групп по заполнение вычисляется отдельно в каждой группе второй переменной: среднее группы вместо среднего выборки, более раннее значение того же испытуемого вместо значения из предыдущей строки. Три способа, зависящие от порядка строк, учитывают и список Упорядочить по — точно так же, как правило последовательности (см. общие настройки). Наблюдение без группы или без значения порядка остаётся как есть. Просмотр показывает по каждой переменной и группе, сколько ячеек пропущено и какое значение они получат, а для упорядоченного заполнения — сколько ячеек оно заполнит.

Параметры вывода

Три режима вывода есть у всех правил, кроме многопеременной формулы, фиктивных переменных и лог-отношений: они всегда создают собственные столбцы и вместо выбора режима перечисляют их в панели Обнаруженные выходные переменные.

  • Заменить исходные значения — входные переменные изменяются на месте. Режим по умолчанию.
  • Заменить другую переменную — результаты записываются в другие существующие переменные, выбранные в поле Переменная для замены. Число входных и выходных переменных должно совпадать (формула может записывать одну выходную), и выходная переменная не может быть одной из входных. Входные переменные сопоставляются с выходными в порядке списка, а при редактировании правила уже составленные пары сохраняются.
  • Создать новые переменные — результаты записываются в новые столбцы с именем из поля Имя новой переменной.
  • Имя новой переменной — имя нового столбца. При нескольких входных переменных каждая получает свой столбец, а имя служит префиксом: z_height, z_weight для имени z. Поле обязательно для всех правил, кроме формулы: если оно пустое, результат формулы называется transformed.
  • Обнаруженные выходные переменные — столбцы, которые запишут объявления @ в формуле, фиктивные переменные или лог-отношения, каждый с пометкой Создаст новую или Заменит существующую.

Управление правилами

Сохранённые правила появляются в списке Правила преобразования. На карточке правила есть маркер для перетаскивания (⠿), цветная метка типа, название и кнопки Редактировать правило (✏️) и Удалить правило (🗑️). Ниже указано, откуда правило берёт данные и куда записывает результат: height, weight → z_height, z_weight или height, weight (с заменой) для правила, которое заменяет входные переменные (с каждой стороны показаны не больше трёх имён). Затем идёт описание настроек. Если правило выводит значения из данных (точки разбиения, λ, значение для заполнения, объединённые уровни, сдвиг, наблюдаемый размах), в описании приведены значения последнего запуска. Последняя строка появляется, только если запуск прошёл не гладко: Последний запуск завершился ошибкой с текстом ошибки или число выходных ячеек, оказавшихся пропущенными, хотя всё, из чего они вычисляются, было заполнено.

Правила применяются в порядке списка, и каждое получает данные такими, какими их оставили правила выше, поэтому перекодировка, сливающая два уровня, меняет результат фиктивного кодирования под ней. Чтобы переместить правило, перетащите карточку за маркер; после этого все правила заново выполняются над импортированными данными в новом порядке. Правило может использовать только столбец, созданный правилом выше, поэтому редактор не сохранит правило, которое использует собственный результат или столбец, создаваемый правилом ниже, а перетаскивание, ставящее правило выше того, что создаёт его входную переменную, отменяется с тем же сообщением. Кнопка редактирования открывает правило в редакторе с текущими настройками. При сохранении сначала отменяется то, что записала прежняя версия правила (если перенести перекодировку с одной переменной на другую, первая вернётся к импортированным значениям), а затем заново выполняются само правило и все зависящие от него правила. При удалении правила (после подтверждения с перечнем затронутых правил) созданные им переменные убираются, столбец, который правило заменяло на месте, восстанавливается из импортированных данных, а правила, использующие эти переменные, выполняются заново. Созданная правилом переменная сохраняет место в списке переменных, отметку выбора и тип при каждом повторном выполнении правил — после правки, смены способа обработки пропусков или загрузки проекта — и удаляется, только когда её больше не записывает ни одно правило.

Каждое правило выполняется отдельно, поэтому ошибка в одном правиле (неверное регулярное выражение, формула из старого проекта, в которой теперь есть ошибка) не останавливает правила ниже. Созданные им столбцы остаются пустыми, а переписываемый на месте столбец сохраняет значения, которые были в нём до этого правила. Ошибка видна на карточке правила; если при повторном запуске перестаёт выполняться правило, которое раньше работало без ошибок, появляется сообщение с его названием, а Сохранить правило предупреждает, если сохранённое правило не выполняется. Правило, ссылающееся на отсутствующую в наборе данных переменную (добавленное из библиотеки правил к другим данным или загруженное из старого проекта, где правило стоит выше того, что создаёт его входную переменную), не выполняется вовсе: его карточка затемнена, и на ней написано Не выполняется: в этом наборе данных нет с перечнем переменных, пока вы не отредактируете правило и не замените их. Редактор отмечает каждую отсутствующую переменную там, где она была выбрана (среди входных переменных, переменных для замены, в списке групп или порядка), и не сохраняет правило, пока все они не заменены.

Пока правило существует, его входные и выходные переменные (включая группирующую переменную и переменную порядка), защищены на вкладке Управление диалога Переменные: их можно переставлять, но нельзя переименовать или удалить. Сначала удалите правило.

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

Библиотека правил

Библиотека правил хранит правила преобразования в браузере постоянно и независимо от загруженного файла данных, поэтому набор правил можно использовать в разных проектах и сеансах. Правила библиотеки хранятся в отдельной базе данных браузера. Чтобы перенести их на другой компьютер или в другой браузер, экспортируйте и импортируйте их.

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

  • Имя — название правила, по которому определяется конфликт имён.
  • Тип — тип правила в виде цветной метки.
  • Описание — настройки правила в том виде, как их описывает список правил, в одну строку; полный текст обрезанного описания появляется при наведении указателя.

Перемещение правил

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

Библиотека хранит переменные, которые правило использует и записывает, по именам, поэтому при добавлении в файл они сопоставляются с одноимёнными переменными загруженного набора данных, где бы те ни стояли. Правило, которому нужна отсутствующая в наборе переменная, всё равно добавляется, но не выполняется, пока вы его не отредактируете (см. управление правилами). В сообщении после добавления такие правила подсчитаны отдельно. Запись, сохранённая прежней версией DataSuite, которая запоминала переменные по номеру столбца, сопоставить нельзя, и она пропускается: добавьте правило в библиотеку заново из набора данных, где есть его переменные.

Правило, содержимое которого уже есть на другой стороне, пропускается. Если там есть правило с тем же названием, но другим содержимым, появляется строка Конфликт имён с кнопками Перезаписать, Оставить оба (переименовать) (к названию добавляется номер), Пропустить и Отменить всё.

Правило, добавленное в библиотеку, помнит, от каких правил выше оно зависит: от тех, что создают нужные ему переменные, и от тех, чьи столбцы оно переписывает. Если добавить правило в библиотеку без правил, создающих его входные переменные, программа предложит добавить и их. При добавлении в файл выбранные правила выстраиваются в порядке, которого требуют эти зависимости, а если правилу нужны переменные из записей, которые вы не выбрали и которых нет в файле, появляется строка с кнопками Включить, Исключить и Отменить всё.

Импорт и экспорт

  • Импорт — загружает правила из JSON-файла, ранее экспортированного из DataSuite, или правила из сохранённого файла проекта. Если какие-то правила из файла уже есть в библиотеке, появится вопрос, заменить их или пропустить дубликаты.
  • Экспорт — сохраняет выбранные правила библиотеки в JSON-файл, которым можно поделиться.

Конвертер таблиц

Конвертер таблиц переводит данные из широкого формата в длинный и обратно (см. широкий и длинный формат). Он работает с переменными, выбранными в диалоге «Переменные», и заменяет текущий набор данных. Исходные данные не сохраняются, поэтому, если они нужны, сначала сохраните файл проекта.

  • Широкий → длинный — открывает конвертер из широкого формата в длинный для повторных измерений или групп, записанных в отдельных столбцах. Тот же конвертер открывает кнопка Преобразовать в длинный формат в разделах сравнения и воспроизводимости.
  • Длинный → широкий — открывает конвертер из длинного формата в широкий для данных, записанных по строке на испытуемого и замер, когда нужен отдельный столбец для каждого замера.

Из широкого формата в длинный

Повторные измерения, записанные в отдельных столбцах по строке на испытуемого, превращаются в строки «испытуемый × замер» — такой формат нужен для повторных измерений и смешанных планов. Переменные, которые не объединяются, переносятся без изменений и повторяются в каждой строке испытуемого.

  • Порядок столбцов — как сгруппированы исходные столбцы: по замеру или по переменной. DataSuite анализирует имена переменных и, если они построены по единой схеме, заранее выставляет найденные в них порядок, число замеров и метки.
  • Группировка по замеру — сначала столбцы всех переменных для первого замера, затем для второго и так далее.
  • Группировка по переменной — замеры каждой переменной идут подряд.
  • Количество замеров — сколько повторных измерений у каждой переменной, от 2 до 20. Число объединяемых переменных должно делиться на него без остатка: если не делится, окно предупреждает об этом, а лишние столбцы не учитываются.
  • Название столбца замера — имя нового столбца с метками замеров, по умолчанию «Замер».
  • Метки замеров — название каждого замера («До», «После»). Если метки удаётся найти в именах переменных, поля заполняются из них, иначе ставятся T1, T2 ….
  • Идентификатор испытуемого — что связывает строки одного испытуемого в результате.
  • Создать автоматически — номера строк, по испытуемому на каждую строку широких данных, в столбце Subject ID. Если испытуемый занимает несколько строк, каждая станет отдельным испытуемым, и никакая дальнейшая проверка этого не заметит. Об этом предупреждает надпись под списком: в таком случае выберите столбец испытуемого.
  • Нет (независимые группы) — без столбца идентификатора. Объединяемые столбцы содержат независимые группы (баллы одной группы в одном столбце, другой — в следующем), поэтому в результате наблюдения идут по замерам: сначала все наблюдения первого замера, затем все наблюдения второго. Строка, в которой пропущены все измерения, отбрасывается: это не наблюдение, а пустой хвост столбца, более короткого, чем соседние. С идентификатором такая строка остаётся.
  • Использовать столбец: {variable} — идентификатор хранится в существующем столбце. В результате этот столбец сохраняет своё имя и не участвует в объединении.
  • Переменные для объединения — выберите нажатием или протягиванием переменные для перестройки в порядке, заданном режимом. Число под списком показывает, сколько измерений приходится на один замер, или предупреждает, что переменные не делятся поровну. Столбец измерений в результате называется общей частью имён исходных столбцов, так что score_t1 и score_t2 объединяются в score.
  • Просмотр — результат при текущих настройках: все строки, если их не больше 20, иначе первые и последние десять. В таблице по столбцу для идентификатора испытуемого, для замера, для каждого объединённого измерения и для каждой перенесённой переменной, а под ней перечислены переменные, которые объединяются вместе. Просмотр в конвертере из длинного формата в широкий устроен иначе: у него есть своя сводка.

Из длинного формата в широкий

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

  • Столбцы-идентификаторы — столбцы, однозначно задающие строку широкой таблицы: идентификатор испытуемого или сочетание нескольких столбцов, например испытуемого и сессии. Строка без идентификатора или ключа пропускается, и сводка под просмотром сообщает, сколько таких строк.
  • Нет — сопоставлять строки по порядку — без идентификатора: первая строка каждого сочетания ключей ставится рядом с первыми строками остальных, вторая — рядом со вторыми и так далее, а там, где у сочетания строк меньше, остаются пропуски. Строки, оказавшиеся рядом, никак не связаны между собой (об этом предупреждает надпись под флажком), поэтому режим подходит только для независимых групп. Это операция, обратная режиму Нет (независимые группы) при переводе из широкого формата в длинный.
  • Столбцы ключей — столбцы, уровни которых становятся именами новых столбцов: замер, момент времени. Каждый столбец значений получает по столбцу на каждое сочетание ключей, которое встречается в данных, с именем {value}_{key} (score_T1, score_T2), а уровни идут в порядке сортировки программы. Несколько ключей вкладываются друг в друга в порядке выбора, первый — внешний: если выбрать сначала замер, а затем пункт, получится score_1_a, score_1_b ….
  • Столбцы значений — измерения, которые разворачиваются в столбцы, по одному на сочетание ключей. Если у испытуемого нет строки для какого-то сочетания, его ячейка останется пустой.
  • Порядок столбцов — в каком порядке идут развёрнутые столбцы, когда столбцов значений несколько.
  • Группировка по значению — замеры каждого столбца значений идут подряд: score_T1, score_T2, rt_T1, rt_T2.
  • Группировка по ключу — сначала все столбцы значений для первого замера, затем для второго: score_T1, rt_T1, score_T2, rt_T2.
  • Просмотр — широкая таблица при текущих настройках в том же виде, что и при переводе в длинный формат, с числом столбцов и строк в подписях. Сводка под таблицей перечисляет строки, пропущенные из-за отсутствующего идентификатора или ключа, и прочие выбранные столбцы. Столбец с одним значением на идентификатор (возраст или группа испытуемого) переносится, а столбец, значения которого меняются в пределах идентификатора, будет удалён. Без идентификатора удаляются все прочие столбцы. Если одному сочетанию идентификатора и ключа соответствует больше одной строки, конвертер отказывается работать: сводка показывает число повторяющихся ячеек с первыми пятью примерами и предлагает добавить столбец к идентификатору, а кнопка Применить преобразование остаётся неактивной.
  • Перенести в значения — кнопка рядом со столбцом, который будет удалён: добавляет его к столбцам значений, и он разворачивается так же, как измерения.

Применение преобразования

Внизу окна обоих конвертеров перечислено, к чему, кроме замены набора данных, приведёт применение преобразования. Если в проекте есть правила преобразования, они будут удалены, а созданные ими столбцы останутся как обычные данные. При построчном удалении строки с пропусками уже удалены, а при заполнении пропусков пустые ячейки уже заполнены. Конвертеры берут данные в том виде, в каком их оставила настройка пропущенных данных, поэтому и удаление строк, и заполнение пропусков сохранятся в преобразованных данных.

  • Применить преобразование — заменяет набор данных преобразованным.

Контрольный список для отчёта

Метод:

  • Каждое правило по порядку и что оно сделало: соответствия или диапазоны перекодирования, метод и точки разбиения на интервалы, способ кодирования и опорный уровень фиктивных переменных, порог объединения уровней, преобразование и обработку нулей для лог-отношений, формулу, шаблон замены по регулярному выражению, метод стандартизации с диапазоном шкалы, порогом или λ, метод и k или w для последовательности, объявленные коды пропусков или способ заполнения
  • Значения, которые правило вывело из данных (точки разбиения, λ, δ, значение для заполнения, объединённые уровни, наблюдаемый размах, сдвиг), в том виде, как их фиксирует описание правила: на других данных они будут другими
  • Какие переменные преобразованы на месте, а какие созданы, и группирующие или упорядочивающие переменные, если они были
  • Для заполнения — сколько ячеек заполнено в каждой переменной и то, что это единичная импутация

Результаты:

  • Результаты по преобразованной переменной выражены в преобразованных единицах (разность в квадратных корнях из минут, координата лог-отношения), и это нужно оговорить, а где шкала позволяет — перевести их обратно в исходные единицы
  • Изменившееся n: строки, ставшие пропусками после усечения, строки, к которым не удалось применить лог-отношение, строки вне всех групп

Воспроизводимость

Все правила выполняются в браузере, без R, и правило само документирует проделанное: список правил показывает его настройки вместе со значениями, выведенными при последнем запуске, а экспорт из библиотеки правил сохраняет набор правил в JSON-файл, который читатель может применить к тем же данным. Выведенные значения (оценка λ, квантильная точка разбиения, значение для заполнения) вычисляются заново при каждом запуске, и на других данных правило даст другие. Поэтому в статье приводят использованные значения, а не только само правило. Обоснование принятых соглашений (тип квантилей, масштабирование MAD, поиск λ, правило выбора δ) и подтверждающие их числа собраны в методических заметках.

Типичные ошибки

Переворот по наблюдаемым ответам. Правило обратного кодирования или POMP с пустым диапазоном шкалы берёт диапазон из данных, а это неверно всякий раз, когда крайним значением шкалы никто не воспользовался: пункт 1–5, на который никто не ответил 5, перевернётся как 4 − x вместо 6 − x. Вводите собственные пределы шкалы. Если правилу пришлось опереться на наблюдаемый размах, описание правила его показывает.

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

Заполнение перед проверкой гипотез. Заполненный столбец выглядит полным — по SD, по корреляциям, по n, — и критерий на нём проверяет данные, отчасти придуманные. Заполняйте, когда следующему шагу нужен полный столбец, сообщайте о заполнении, а неполные наблюдения в самих анализах оставьте настройке пропущенных данных.

Стандартизация внутри групп, которые затем сравниваются. После z-оценки внутри групп среднее каждой группы равно 0, так что последующее сравнение групп ничего не найдёт. Стандартизуйте внутри групп, чтобы сравнивать положение наблюдения (у кого высокий балл для своего центра), и по всей выборке, чтобы сравнивать группы.

Правило, меняющее тип. Текстовые метки интервалов, метка объединённого уровня и замена по регулярному выражению записывают текст, поэтому числовой столбец, получивший их, становится категориальным, и числовые анализы его больше не предлагают. Если исходная переменная ещё нужна как число, записывайте результат в новую переменную.

Порядок важен. Правила выполняются сверху вниз, каждое на данных, какими их оставили правила выше: фиктивное кодирование над перекодировкой, сливающей два уровня, закодирует как раз те уровни, которые перекодировка должна была убрать, а заполнение над правилом, объявляющим коды пропусков, ничего не заполнит. Ставьте правило, очищающее столбец, раньше правил, которые этот столбец используют.