Глава 8 Типы данных в таблицах
Таблицы555 — это один из самых распространенных способов организации и хранения данных. Они используются в базах данных, электронных таблицах (например, Excel или Google Sheets), а также в аналитических инструментах. Каждый столбец таблицы обычно содержит данные определенного типа, что позволяет эффективно обрабатывать и анализировать информацию. В этом разделе мы рассмотрим основные типы данных, которые могут встречаться в таблицах, и приведём примеры их использования в R и Python.
8.0.1 Числовые данные (Numeric)
Числовые данные представляют собой количественные значения, которые можно использовать для математических операций. Они делятся на два подтипа:
Целые числа (Integer):
Это числа без дробной части, например: количество клеток в образце, возраст пациента.Дробные числа (Float/Double):
Это числа с дробной частью, например: концентрация вещества в крови, температура тела.
8.0.1.1 Примеры:
- R:
# Целые числа: количество клеток в образце
cell_count <- c(1500, 2000, 2500)
print(cell_count)
# Дробные числа: концентрация глюкозы в крови (ммоль/л)
glucose_level <- c(5.3, 6.1, 4.9)
print(glucose_level)
- Python:
# Целые числа: количество клеток в образце
cell_count = [1500, 2000, 2500]
print(cell_count)
# Дробные числа: концентрация глюкозы в крови (ммоль/л)
glucose_level = [5.3, 6.1, 4.9]
print(glucose_level)
8.0.2 Текстовые данные (String/Text)
Текстовые данные представляют собой последовательности символов. Они используются для хранения информации, которая не подходит для математических операций. Примеры:
- Имена пациентов:
"Иванов Иван"
,"Петрова Мария"
. - Диагнозы:
"Сахарный диабет"
,"Артериальная гипертензия"
. - Названия генов:
"BRCA1"
,"TP53"
.
8.0.2.1 Примеры:
- R:
# Текстовые данные: имена пациентов
patient_names <- c("Иванов Иван", "Петрова Мария")
print(patient_names)
# Текстовые данные: диагнозы
diagnoses <- c("Сахарный диабет", "Артериальная гипертензия")
print(diagnoses)
- Python:
# Текстовые данные: имена пациентов
patient_names = ["Иванов Иван", "Петрова Мария"]
print(patient_names)
# Текстовые данные: диагнозы
diagnoses = ["Сахарный диабет", "Артериальная гипертензия"]
print(diagnoses)
8.0.3 Логические данные (Boolean)
Логические данные могут принимать только два значения: TRUE
(истина) или FALSE
(ложь). Они часто используются для хранения бинарных состояний. Примеры:
- Наличие заболевания:
TRUE
(есть),FALSE
(нет). - Результат теста:
TRUE
(положительный),FALSE
(отрицательный).
8.0.3.1 Примеры:
- R:
# Логические данные: наличие заболевания
has_disease <- c(TRUE, FALSE, TRUE)
print(has_disease)
# Логические данные: результат теста
test_result <- c(TRUE, FALSE)
print(test_result)
- Python:
# Логические данные: наличие заболевания
has_disease = [True, False, True]
print(has_disease)
# Логические данные: результат теста
test_result = [True, False]
print(test_result)
8.0.4 Дата и время (Date/Time)
Данные этого типа используются для хранения информации о датах и времени. Они могут быть представлены в различных форматах:
- Дата: Дата рождения пациента (
1990-05-15
). - Время: Время забора крови (
14:30:00
). - Дата и время: Дата и время проведения операции (
2023-10-15 14:30:00
).
8.0.4.1 Примеры:
- R:
# Дата: дата рождения пациента
birth_date <- as.Date("1990-05-15")
print(birth_date)
# Время: время забора крови
blood_time <- strptime("14:30:00", format = "%H:%M:%S")
print(blood_time)
- Python:
from datetime import datetime
# Дата: дата рождения пациента
birth_date = datetime.strptime("1990-05-15", "%Y-%m-%d")
print(birth_date)
# Время: время забора крови
blood_time = datetime.strptime("14:30:00", "%H:%M:%S")
print(blood_time)
8.0.5 Категориальные данные (Categorical)
Категориальные данные представляют собой значения, которые принадлежат к определённой категории. Они делятся на два подтипа:
Номинальные (Nominal):
Категории без порядка, например: типы клеток ("эритроциты"
,"лейкоциты"
), группы крови ("A"
,"B"
,"AB"
,"O"
).Порядковые (Ordinal):
Категории с порядком, например: стадии заболевания ("I"
,"II"
,"III"
,"IV"
), уровень боли ("низкий"
,"средний"
,"высокий"
).
8.0.5.1 Примеры:
- R:
# Категориальные данные: типы клеток
cell_types <- factor(c("эритроциты", "лейкоциты"))
print(cell_types)
# Категориальные данные: стадии заболевания
disease_stages <- factor(c("I", "II", "III"), ordered = TRUE)
print(disease_stages)
- Python:
import pandas as pd
# Категориальные данные: типы клеток
cell_types = pd.Categorical(["эритроциты", "лейкоциты"])
print(cell_types)
# Категориальные данные: стадии заболевания
disease_stages = pd.Categorical(
["I", "II", "III"],
categories=["I", "II", "III"],
ordered=True
)
print(disease_stages)
8.0.6 Заключение
Понимание типов данных в таблицах важно для правильной организации, анализа и обработки информации в медицине и биологии. Каждый тип данных имеет свои особенности и подходит для определённых задач. Например, числовые данные используются для расчётов, а категориальные — для группировки и классификации. Правильное определение типов данных помогает избежать ошибок и повышает эффективность работы с таблицами.
Если вы работаете с таблицами в программах, таких как Excel, Google Sheets или базах данных, убедитесь, что вы правильно задаёте типы данных для каждого столбца. Это упростит дальнейшую обработку и анализ информации.
8.0.7 Исходы и конечные точки в медицине и биологии
В медицинских и биологических исследованиях понятия исходы и конечные точки играют ключевую роль при оценке эффективности и безопасности вмешательств, диагностики и лечения. Эти термины помогают структурировать исследование, определить его цели и оценить результаты. В этой статье мы разберём, что такое исходы и конечные точки, какие они бывают, и приведём примеры их использования.
8.1 Что такое исходы?
Исходы — это конкретное, измеримое событие или результат, используемое для оценки результатов в исследовании или испытании. Исходы чаще всего быть оценимы математически и описываются типами данных, о которых мы ранее говорили, либо вычисляются из таких переменных (Singh et al. 2022).
Примеры исходов: - факт смерти пациента от той или иной причины; - рецидив онкологического процесса; - снижение уровня АД на 10%; - превышение уровня кровопотери во время операции свыше 500 мл; - для диагностических тестов: - предсказанная принадлежность к классу “Здоров”; - вероятность принадлежности к классу “Здоров” свыше 70%;
8.2 Что такое конечные точки и чем они отличаются от исходов?
Конечные точки (КТ) — исходы, которые достигаются или не достигаются в ходе исследования, обычно на определенных условиях. Они выбираются на этапе планирования исследования и служат основой для анализа данных (Singh et al. 2022),(Навасардян А. Р. 2022). Конечная точка отражает возможный достижимый исход в исследовании, запланированный в качестве его результата, то есть, не каждый возможный исход в исследовании является конечной точкой.
У пациента имеется вероятность достижения тех или иных исходов, но какие исходы соответствуют конечной точке определяет исследователь в соответствии с целью исследования и задачами (Навасардян А. Р. 2022).
Пример с исследованием сердечно-сосудистой летальности, где конечной точкой является смертность от сердечно-сосудистых причин в течение 6 месяцев:
Пациент умер от онкологии на 5 месяц. Произошел исход в виде смерти, но смерть произошла не от сердечно-сосудистой причины, поэтому конечная точка не достигнута!
Пациент умер от инфаркта миокарда на 3 месяц. Произошел исход в виде смерти от сердечно-сосудистой причины, поэтому конечная точка достигнута.
Пациент был здоров, затем перестал выходить на контакт на 4 месяц. Нет данных о том, произошел исход или нет, поэтому недостаточно данных для оценки достижения конечной точки. Мы лишь знаем, что в срок до 4 месяца конечная точка не была достигнута.
8.3 Какие бывают конечные точки?
Конечные точки классифицируются по различным критериям:
8.3.1 По значимости:
- Первичные конечные точки (ПКТ): Основные показатели, которые непосредственно отвечают на главный вопрос исследования. Например, снижение смертности от инфаркта миокарда. Любое исследование имеет ПКТ, т.к. в любом исследовании есть цель и основной вопрос. В отношении таких конечных точек проверяются основные гипотезы исследования и формируются выводы. Поэтому для таких конечных точек рассчитывается минимально требуемый объем выборки для принятия или отклонения соответствующих гипотез.
- Вторичные конечные точки: Дополнительные показатели, которые помогают глубже понять результаты. Такие точки являются “гипотезообразующими”, они формируют почву для исследований в дальнейшем. Для таких точек не рассчитывается требуемый объем выборки, если не запланировано иначе.
8.3.2 Мягкие и жесткие конечные точки
- Жёсткие конечные точки (Hard endpoints): Объективные и клинически значимые показатели, такие как смертность, частота инфарктов или инсультов.
- Мягкие конечные точки (Soft endpoints): Субъективные или менее значимые показатели, такие как уровень боли по визуальной аналоговой шкале или качество жизни.
8.3.3 Комбинированные конечные точки
Комбинированные конечные точки: Сочетание нескольких показателей. Например, комбинация смертности, инфарктов и инсультов или смертности и госпитализаций. В онкологии может комбинироваться выживаемость и отсутствие рецидива. Такие точки позволяют полнять мощность исследования, а также могут лучше отражать клинический смысл: живой онкологический пациент без рецидива по смыслу приравнивается к здоровому человеку.
Суррогатные конечные точки: конечные точки, косвенно отражающие исход. В биологии и медицине таких ситуаций довольно много. Например, тяжесть течения сахарнго диабета 2 типа невозможно отразить неким единым показателей. О ней можно судить по:
уровню гликемии плазмы;
уровню С-пептида и препроинсулина;
наличию / отсутствию ангиопатии и нейропатии;
наличию / отсутствию иных микроциркуляторных нарушений;
и т.д.
Каждый из этих показателей не отражает всю сложность концепции тяжести сахарного диабета, однако при проведении исследований мы вынуждены прибегать к такиим упрощениям.
8.4 Что такое первичный критерий безопасности и эффективности в интервенционных исследованиях?
В интервенционных исследованиях (например, клинических испытаниях) первичный критерий безопасности и эффективности — это ключевые показатели, которые оценивают, насколько вмешательство безопасно и эффективно.
- Первичный критерий эффективности: Например, снижение уровня глюкозы в крови у пациентов с диабетом до нижней границы нормы для нового гипогликемического препарата.
- Первичный критерий безопасности: Например, частота серьёзных побочных эффектов, таких как аллергические реакции.
По аналогии с ПКТ, существуют вторичные критерии безопасности и эффективности.
8.5 Какие исходы бывают в диагностических исследованиях?
В диагностических исследованиях исходы связаны с точностью диагностики. В свою очередь, диагностика связана в классическом понимании либо с: - классификацией: определение категории / класса / некоего качества - здоров или болен, выживет или скончается, тип неизвестного вируса, доброкачественная или золокачественная ткань и т.д. Исход либо наступает, либо нет. Исходов может быть несколько, если они взаимоисключающие, например, отсутствие заболевания или наличие той или иной стадии. - регрессией: определение числового показателя - уровень артериального давления по новому тонометру, количество бактерий в выдыхаемом воздухе, количество дней госпитализации, изменение кровопотери в мл при использовании нового коагулятора и т.д.
Существует большое количество метрик для оценки исходов для классификации, некоторые из них приведены ниже:
- Чувствительность (Sensitivity): Способность теста правильно идентифицировать больных.
- Специфичность (Specificity): Способность теста правильно идентифицировать здоровых.
- Точность (Accuracy): Общая доля правильных результатов.
- Положительная прогностическая ценность (PPV): Вероятность того, что пациент с положительным результатом теста действительно болен.
- Отрицательная прогностическая ценность (NPV): Вероятность того, что пациент с отрицательным результатом теста действительно здоров.
Для регрессоров также довольно большое количество метрик, наиболее часто используемые из которых:
Коэффициент детерминации (\(R^2\)) — показывает, насколько хорошо модель объясняет вариацию (изменчивость) целевой переменной. Чем ближе R² к 1, тем лучше модель предсказывает значения. Если \(R^2\), значит факторы в модели хорошо связаны с вариабельностью исхода, изменения факторов приведут к изменениям исхода. Низкий \(R^2\) говорит о том, что как бы факторы в модели не менялись, это не приведет к изменению исхода, а значит и связь между ними слабая.
Средняя (или Медианная) абсолютная ошибка (MAE) или Среднеквадратичная ошибка (MSE) — показатели, которые измеряют среднее отклонение предсказанных значений от фактических.
Максимальная абсолютная ошибка (Max error).
Доверительные интервалы для коэффициентов — показывают, насколько надёжны оценки коэффициентов модели.
Распределение остатков модели (Residuals) — остатки - разница между предсказанными моделью и фактическими значениями. По сути, это величина ошибки модели для данного конкретного значения. А распределение остатков показывает общую характеристику таких ошибок. Чем больше значения остатков, тем хуже работает моджель. Иногда остатки резко меняются на определенном промежутке, например, новый тонометр почти без ошибок определяет АД для гипотоников и нормотоников, но для гипертоников начинает занижать АД. изучение распределения и свойств остатков крайне важно для оценки качества модели.
8.6 Заключение
Исходы и конечные точки — это ключевые элементы медицинских и биологических исследований. Они позволяют оценить эффективность, безопасность и точность вмешательств или диагностических методов. Правильный выбор исходов и конечных точек обеспечивает достоверность и значимость результатов исследования.
В свою очередь исследовательские вопросы превращаются в проверку гипотез о распределении исходов (о распределении достигнутых и недостигнутых конечных точек) и о том, что влияет на это распределение.