如何在R中使用GEE分析非劣效性试验?

How to analyse a non-inferiority trial using GEE in R?

提问人:Mathemagician777 提问时间:11/16/2023 更新时间:11/18/2023 访问量:48

问:

我正在尝试分析 R 中的非劣效性试验。由于存在相关的观测值,并且总体平均解释似乎很好,因此我想使用 GEE。

为了说明我的问题,我将使用 R 中嵌入在 gee 包中的 muscatine 数据。 研究问题可以如下,我想调查与女性相比,马斯卡廷数据中的男性参与者是否具有非劣效的肥胖水平(因此相当于测试“男性”是否是一种新的、非劣效的药物与标准药物“女性”相比)

结果“肥胖”和可变的“性别”都是二元的,年龄和场合是受控的,并且是连续的(不重要)

  • 眼前的问题:我知道如何在 R 中执行 GEE,但我如何获得与非劣效性试验相对应的 p 值,非劣效性边际等于 0.01?(因此,这相当于测试 H_0:β_1≤-0.01 与 H_a:β_1 > -0.01,其中 β_1 当然是对数比)。我只能在网上找到 GEE 测试 β_1 = 0 的双侧假设。

我使用了以下代码:

library(gee)
data(muscatine)

data2 <- muscatine
data2$obese <- ifelse(muscatine$obese == 'yes', 0, 1)

x <- gee(obese ~ gender + age + occasion, id = id, family = binomial, corstr = "exchangeable", data = data2)
summary(x)

这给了我以下关于系数的输出:

Coefficients:
            Estimate Naive S.E. Naive z Robust S.E. Robust z
(Intercept)   1.7846     0.1152   15.49      0.1116    16.00
genderF      -0.1521     0.0620   -2.45      0.0626    -2.43
age          -0.0296     0.0113   -2.63      0.0110    -2.68
occasion     -0.0377     0.0298   -1.27      0.0310    -1.22

提前感谢救主!

r p 值 假设-检验 相关

评论

1赞 IRTFM 11/17/2023
我不认为你为非劣效性正确地设置了替代假设。有关非劣效性设计的 CI 和 delta 的讨论,请参阅本文:or.org/files/...我也同意关闭投票(实际上是迁移投票)。这听起来像是一个问题 stats.stackexchange.com
0赞 Mathemagician777 11/17/2023
谢谢你的评论!替代方案怎么不正确?它与您添加的文章第 12 页上的等式 (5) 中的文本完全相同,不是吗?我也会把它移到SE,谢谢!
0赞 IRTFM 11/18/2023
是的,你在这件事上是对的。我误读了你的表述。我现在要问你是否了解如何在回归问题中设置偏移量?
0赞 Mathemagician777 11/18/2023
我不确定那是什么,也不知道这对我有什么帮助,你能详细说明一下吗?谢谢!

答:

0赞 IRTFM 11/18/2023 #1

我收回了我的接近投票,因为我认为问题在于 OP 不知道如何在 R 回归公式中设置偏移项,所以这是一个以 R 为中心的问题,可能会被 stats.SE 拒绝。偏移量是模型中的一个参数,假定该参数的测量没有不确定性,通常用于针对 0 以外的H_0进行测试。在 R(以及任何具有 GLM 的建模软件)中使用偏移量的另一个考虑因素是,在输入偏移量时需要考虑链接函数,因此对于二项式模型,偏移量需要是未转换数据中假设的效应大小的对数。

(所呈现代码的另一个问题是它不是 in 中的数据元素,而是muscatinepkg:geepkg:geepack)

if(!require(gee)){install.packages("gee"); library(gee)}
if(!require(geepack)){install.packages("geepack"); library(geepack)} # for muscatine
 
 data2 <- muscatine
 data2$obese <- ifelse(muscatine$obese == 'yes', 0, 1)
# add offset term with log of hypothesized H_0
 x <- gee(obese ~ gender + age + occasion+offset(rep(log(0.1), nrow(data2))), id = id, family = binomial, corstr = "exchangeable", data = data2)
#-----message from gee() --------
Beginning Cgee S-function, @(#) geeformula.q 4.13 98/01/27
running glm to get initial regression estimate
(Intercept)     genderF         age    occasion 
 4.00334630 -0.12601405 -0.02556356 -0.01632539 

 summary(x)
#---------output begins here----------------
 GEE:  GENERALIZED LINEAR MODELS FOR DEPENDENT DATA
 gee S-function, version 4.13 modified 98/01/27 (1998) 

Model:
 Link:                      Logit 
 Variance to Mean Relation: Binomial 
 Correlation Structure:     Exchangeable 

Call:
gee(formula = obese ~ gender + age + occasion + offset(rep(log(0.1), 
    nrow(data2))), id = id, data = data2, family = binomial, 
    corstr = "exchangeable")

Summary of Residuals:
        Min          1Q      Median          3Q         Max 
-0.97960924  0.02160615  0.02569267  0.02857506  0.03592698 


Coefficients:
              Estimate Naive S.E.   Naive z Robust S.E.  Robust z
(Intercept)  4.0872254 0.11518402 35.484310  0.11155396 36.638999
genderF     -0.1520871 0.06198955 -2.453431  0.06261391 -2.428966
age         -0.0295689 0.01126046 -2.625906  0.01102506 -2.681973
occasion    -0.0377399 0.02983178 -1.265090  0.03096084 -1.218956

Estimated Scale Parameter:  0.990456
Number of Iterations:  3

Working Correlation
          [,1]      [,2]      [,3]
[1,] 1.0000000 0.5400174 0.5400174
[2,] 0.5400174 1.0000000 0.5400174
[3,] 0.5400174 0.5400174 1.0000000

评论

0赞 Mathemagician777 11/18/2023
感谢您的评论,很抱歉数据集出现问题。但是,我不完全确定在这种情况下这对我有什么帮助。你说偏移量是在没有可变性的情况下测量的,我真的很想寻找一个 β 系数,与“安慰剂”相比,它能给我带来治疗的效果。你能澄清一下吗?
0赞 IRTFM 11/18/2023
这表明偏移函数可以在你选择的计算机制(函数)中使用。大多数关于具有二元结果的非劣效性设计分析的讨论都假设对比例差异进行简单的检验,而不是在回归模型中使用“治疗”作为协变量。我认为您可以添加以治疗分配为条件的偏移量,但我还没有找到在线引文来支持这种方法而无需支付费用。我提供的示例不会对您提出的单侧测试产生估计值。gee::gee
0赞 IRTFM 11/18/2023
托马斯·拉姆利(Thomas Lumley)和拉斯·伦斯(Russ Lenth)都是备受尊敬的统计学家和R包作者,他们的回答可能有用:stats.stackexchange.com/questions/502034/......和。。。stats.stackexchange.com/questions/486095/......