r - 您如何在 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。
解决方案
安装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")
但是请注意,我必须先手动安装软件包geoR
并metafor
单独安装(否则会引发错误)。
运行因果平均处理效果
回答问题的第一部分:
您如何在 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一样,只能同时比较两种方法)。
该图非常有用,可以看到效果大小的“改善”作为增加治疗依从性的函数。您在此示例中看到的是,如预期的那样,较高的合规性百分比会导致较大的效果大小。
推荐阅读
- r - R中的分层svyglm
- javascript - 如何在api调用nodejs的循环中实现多线程
- email - Odoo 12 - 系统参数 - 电子邮件营销 - 多域
- ios - 如何防止用户在 React Native IOS 应用程序中截屏?
- java - 如何在 Java 的一行代码中输入不同的变量?
- xcode - xcode 的语义调色板
- javascript - 单击 HTML 按钮时如何触发带有文本区域内容的文件下载
- javascript - JS - forEach 循环中的过滤器与拼接
- python - 使用 BeautifulSoup 提取跨度文本
- c# - 在 c# winform 中显示特定的虚拟以太网适配器状态