среда, 14 октября 2015 г.

Приложение shiny для анализа данных в исследованиях биоэквивалентности


Испытания с целью доказательства биоэквивалентности предусматривают выполнение статистического анализа по типичной и установленной законодательно схеме, которая состоит в использовании линейной модели со смешанными эффектами (информация про фиксированные и случайные эффекты в данном контексте) для сравнения величин Cmax (максимальная концентрация) и AUC0-t (площадь под кривой зависимости концентрации от времени) для тестового (T) и референтного (R) препаратов и последующего построения 90% доверительных интервалов для соотношения T/R. 
Поскольку задача популярная, для ее решения помимо статистических пакетов общего назначения написан специализированный коммерческий софт (например, WinNonlin). Есть также бесплатное комплексное решение для генерации целого отчета в виде пакета bear для R. 

Ну а я для себя сделал простое интерактивное shiny-приложение с базовой функциональностью, доступное по адресу https://statist.shinyapps.io/bioeq. Внутри написано, как пользоваться - можно использовать тестовый набор данных или же загрузить свои данные в том же формате. Для рисования графиков используется ggplot2, смешанные линейные модели строятся при помощи функции lme() из пакет nlme, площадь под кривой считает самописная функция:

aucCalc <- function(conc, time) {
    auc <- numeric(length(time)-1) 
    for (i in 2:length(time)) {
        auc[i-1] <- 0.5*(conc[i]+conc[i-1])*(time[i]-time[i-1])
    }
    return(sum(auc, na.rm=TRUE))
}


Исходники доступны в репозитории. Результаты работы программы в точности воспроизводят полученные при помощи WinNonlin.

Комментариев нет:

Отправить комментарий