Библиотека "TableOne" несколько сравнений. Рассчитать построчно p-значения - PullRequest
0 голосов
/ 26 августа 2018

Я получил комментарий от рецензента, который хотел иметь все p-значения для каждой строки уровней определенных переменных в таблице демографических характеристик (Таблица 1).Хотя запрос кажется мне довольно странным (и неточным), я хотел бы согласиться с его предложением.

    library(tableone)
## Load data
library(survival); data(pbc)

# drop ID from variable list
vars <- names(pbc)[-1]

## Create Table 1 stratified by trt (can add more stratifying variables)
tableOne <- CreateTableOne(vars = vars, strata = c("trt"), data = pbc, factorVars = c("status","edema","stage"))

print(tableOne, nonnormal = c("bili","chol","copper","alk.phos","trig"), exact = c("status","stage"),  smd = TRUE)

вывод: enter image description here

Мне нужно иметь p-значения для каждого уровня переменных status, edema и stage с поправкой Бонферрони.Я прошел документацию безуспешно.Кроме того, правильно ли использовать хи-квадрат для сравнения размеров выборки по строкам?

ОБНОВЛЕНИЕ:

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

    library(tableone)
    ## Load data
    library(survival); data(pbc)

    d <- pbc[,c("status", "trt")]

    # Convert dummy variables
    d$status.0 <- ifelse(d$status==0, 1,0)
    d$status.1 <- ifelse(d$status==1, 1,0)
    d$status.2 <- ifelse(d$status==2, 1,0)

t <- rbind(    
    chisq.test(d$status.0, d$trt),
    # p-value = 0.7202

    chisq.test(d$status.1, d$trt),
    # p-value = 1

    chisq.test(d$status.2, d$trt)
    #p-value = 0.7818
)
t

BONFERRONI ADJ ДЛЯ НЕСКОЛЬКИХ СРАВНЕНИЙ:

p <- t[,"p.value"]

p.adjust(p, method = "bonferroni")
...