首页 > 解决方案 > 您如何在 R 中运行编译器平均因果效应 (CACE) 分析?

问题描述

语境

在进行随机对照试验 (RCT) 时,一些参与者被随机分配到治疗条件,而其他参与者则被分配到对照组。然而,并非每个分配到治疗的人都可能遵循治疗方案(称为“治疗依从性”)。

根据Sagarin 等人的说法。(2014),解决这个问题的一种明智方法是使用编译器平均因果效应 (CACE),有时也称为局部平均处理效应 (LATE)。根据Wikipedia的说法,它是“当且仅当它们被分配到治疗时,接受治疗的样本子集的治疗效果,否则称为编译器。” 换句话说,如果分配到治疗组的一部分参与者没有遵循治疗方案,这将是有用的。

问题

您如何在 R 中运行此分析?

我无法从 Google 和 stackoverflow 搜索中找到任何准确的信息。

此外,尽管我阅读了很多资料,但我仍然无法弄清楚预期的结果应该是什么。使用 CACE 时,结果如何?您是否最终获得了针对治疗不依从性进行调整的更新分数/数据,您可以将其插入您的常规分析(类似于因子分数)?或者你只是得到一些你必须做的事情?

我试过的

eefAnalytics似乎为此提供了最方便的功能:caceSRTBoot(). “caceSRTBoot 对简单的随机教育试验进行探索性 CACE 分析。” 它允许通过简单的合规百分比来指定合规性(非常简单方便)。

但是,我在安装 eefAnalytics 包时遇到了一些问题,同时尝试对其进行测试以查看它提供的输出类型:

install.packages("eefAnalytics")
package ‘eefAnalytics’ is not available (for R version 4.0.2)

# Install the latest version of this package by entering the following in R:
install.packages("eefAnalytics", repos="http://R-Forge.R-project.org")
package ‘eefAnalytics’ is not available (for R version 4.0.2)
Warning in install.packages :
  unable to access index for repository http://R-Forge.R-project.org/bin/windows/contrib/4.0:
  cannot open URL 'http://R-Forge.R-project.org/bin/windows/contrib/4.0/PACKAGES'

经过仔细调查,Cran 说:“软件包‘eefAnalytics’已从 CRAN 存储库中删除。”

我看过的其他包(例如1 , 2 , 3 , 4)似乎很复杂,我无法弄清楚(例如,它们没有用于 % 合规性的参数,我在制作它们时遇到了麻烦“运行此示例”小部件工作)。还有其他用户友好的软件包吗?有没有其他方法可以在 R 中进行这种分析?有人会有某种“教程”吗?

相关页面:1

标签: rstatisticsexperimental-design

解决方案


安装eefAnalytics

我通过包文档eefAnalytics联系了包维护者。有人告诉我,更新版本将很快在 R 中可用。同时,我能够从 CRAN 档案中安装旧版本的软件包:

install.packages("https://cran.r-project.org/src/contrib/Archive/eefAnalytics/eefAnalytics_1.0.6.tar.gz", repos = NULL, type = "source")

但是请注意,我必须先手动安装软件包geoRmetafor单独安装(否则会引发错误)。

运行因果平均处理效果

回答问题的第一部分:

您如何在 R 中运行此分析?

运行文档中提供的简单随机试验示例,我们得到:

library(eefAnalytics)    
data(mstData)
############# weighted ITT ####################################
caceOutput3 <- caceSRTBoot(Posttest~ Prettest+ Intervention,
               intervention="Intervention",
               compliance = "Percentage_Attendance",nBoot=1000,data=mstData)

cace <- caceOutput3$CACE
cace
  Compliance   ES   LB   UB
1       P> 0 0.32 0.04 0.62
2      P> 10 0.32 0.04 0.62
3      P> 20 0.37 0.04 0.72
4      P> 30 0.42 0.05 0.83
5      P> 40 0.47 0.06 0.92
6      P> 50 0.58 0.07 1.18

Complier <- caceOutput3$Compliers
Complier    
        P > 0 P > 10 P > 20 P > 30 P > 40 P > 50 P > 60 P > 70 P > 80 P > 90
pT          1      1   0.87   0.75   0.69   0.55   0.41   0.31   0.25   0.15
pC          0      0   0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00
P=PT-pC     1      1   0.87   0.75   0.69   0.55   0.41   0.31   0.25   0.15

### visualising CACE effect size

plot(caceOutput3)

在此处输入图像描述

输出解释

我无法从包文档中找到此信息,但根据我从输出中了解到的信息:

ITT= 治疗意图

ES= 效应大小(Hedge 的g

LB= 下限(效应大小的置信区间)

UB= 上限

pT= 治疗组中遵从者的百分比

pC= 对照组中遵从者的百分比

P=PT-pC= 治疗组中遵从者的百分比减去对照组中遵从者的百分比

P > X= 依从性百分比大于 X(例如 50%)的参与者的值

结果如何?

要回答问题的第二部分:

使用 CACE 时,结果如何?

感兴趣的主要结果似乎是调整后的效果大小(Hedge 的g,与 Cohen 的d相似,但对于小于 20 的小样本更好)。似乎只能将两组比较,而不是更多(因为 Hedge 的g和 Cohen 的d一样,只能同时比较两种方法)。

该图非常有用,可以看到效果大小的“改善”作为增加治疗依从性的函数。您在此示例中看到的是,如预期的那样,较高的合规性百分比会导致较大的效果大小。


推荐阅读