您如何 运行 在 R 中进行编译器平均因果效应 (CACE) 分析?

How do you run a complier average causal effect (CACE) analysis in R?

上下文

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

根据 Sagarin et al. (2014), one sensible approach to address this problem is using the complier average causal effect (CACE), also sometimes known as Local average treatment effect (LATE). According to Wikipedia,它是“当且仅当他们被分配到治疗时,接受治疗的样本子集的治疗效果,否则称为遵从者。”换句话说,如果分配到治疗组的一部分参与者没有遵循治疗方案,这将很有用。

问题

你如何 运行 在 R 中进行此分析?

我无法从 Google 和 Whosebug 搜索中找到任何关于此的精确信息。

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

我试过的

eefAnalytics package seems to provide the most convenient function for this: caceSRTBoot()。 “caceSRTBoot 对简单的随机教育试验进行探索性 CACE 分析。”它允许通过简单的合规百分比指定合规性(非常简单方便)。

但是,I am experiencing some problems installing the eefAnalytics package 在尝试对其进行测试以查看它提供的输出类型时:

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 says:“软件包‘eefAnalytics’已从 CRAN 存储库中删除。”

我看过的其他软件包(例如,1, 2, 3, 4)似乎很复杂,我无法理解它们(例如,它们没有 % compliance 的参数,而我有让他们的“运行 这个例子”小部件工作时遇到麻烦)。还有其他用户友好的软件包吗?还有其他方法可以在 R 中进行此分析吗?谁能提供某种“教程”?

相关页面:1.

正在安装 eefAnalytics

我通过 package documentation 联系了 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(否则它会抛出错误)。

运行因果平均治疗效果

回答问题的第一部分:

How do you run this analysis in R?

运行 example available from documentation for a simple randomised trial,我们得到:

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 = lower-bound(效果大小的置信区间)

UB = upper-bound

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

pC = 对照组中合规者的百分比

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

P > X = 合规百分比大于 X(例如 50%)的参与者的价值

结果如何?

回答问题的第二部分:

When using CACE, what is the outcome?

感兴趣的主要结果似乎是调整后的效果大小(Hedge 的 g,类似于 Cohen 的 d,但更好小样本量 < 20)。似乎只能将两个组一起比较,而不是更多(因为 Hedge 的 g,像 Cohen 的 d,只能一次比较两个平均值)。

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