簡體   English   中英

當預測變量是連續的時,為什么 R 調解包的輸出顯示控制/治療組?

[英]Why is output of R mediation package showing control/treat groups when the predictor is continuous?

我正在使用 R 中介包運行中介模型,但我沒有得到變量類型的正確輸出。 我有一個連續的預測器,但輸出將我的預測器視為分類變量。

簡而言之:

預測變量= 認知測試分數 [Composite_Z](連續)

調解員= 自我意識 [意識] (二分法;變量類型 = 數值以便運行調解)

結果= 驅動頻率 [DRFRQ](二分法)

10 個協變量= 年齡(連續)、性別(二分)、種族(二分)、教育(二分)、嚴重程度(連續)、時間(連續)、癲癇發作(二分)、收入(序數)、運動(連續)、城市農村(序數)

我有兩個模型正在進入我的中介分析(這兩個模型都運行良好,沒有問題)--

模型#1 :二元邏輯回歸檢查認知(預測)和自我意識之間的關系,同時考慮協變量。

代碼:

    fit.a.A3H1 <- glm(Awareness ~ Composite_Z + Age + Sex + Race +
 Education + Severity + Time + Seizures + Income + Motor 
+ UrbanRural, family=binomial(link="logit"), data=A3H1.df)

模型#2 :二元邏輯回歸檢查認知(預測)和駕駛頻率(結果)之間的關系,同時考慮自我意識(中介)和協變量。

代碼:

    fit.total.A3H1 <- glm(DRFRQ ~ Composite_Z + Awareness + Age + Sex 
+ Race + Education + Severity + Time + Seizures + Income 
+ Motor + UrbanRural, family=binomial(link="logit"), data = A3H1.df)

中介模型:然后,我將這些模型(如上所述)放入我的中介分析中。 我正在使用 R中介包來運行分析。

代碼:

fitMed.A3H1 <- mediate(fit.a.A3H1, fit.total.A3H1, sims=1000, boot=FALSE, 
                       treat="Composite_Z", mediator="Awareness",
                       covariates = NULL, use_speed = FALSE)

輸出:

Causal Mediation Analysis 

Quasi-Bayesian Confidence Intervals

                          Estimate 95% CI Lower 95% CI Upper p-value  
ACME (control)           -0.001007    -0.004191         0.00    0.27  
ACME (treated)           -0.000686    -0.002933         0.00    0.27  
ADE (control)             0.031882     0.003696         0.06    0.03 *
ADE (treated)             0.032203     0.003727         0.06    0.03 *
Total Effect              0.031196     0.004744         0.05    0.03 *
Prop. Mediated (control) -0.024010    -0.134304         0.08    0.25  
Prop. Mediated (treated) -0.016399    -0.113058         0.07    0.25  
ACME (average)           -0.000846    -0.003507         0.00    0.27  
ADE (average)             0.032042     0.003711         0.06    0.03 *
Prop. Mediated (average) -0.020204    -0.124782         0.08    0.25  

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Sample Size Used: 350 

Simulations: 1000 

即使我的預測變量是連續變量,輸出也會分組給出結果。 有誰知道我為什么會遇到這個問題以及我可以解決它的方法? 任何建議將不勝感激!

同樣奇怪的是,當我使用相同的預測變量/中介變量/協變量(但不同的結果變量是連續的而不是二分的)運行單獨的中介分析時,我沒有這個問題。 這種單獨的中介分析由(1)二元邏輯回歸模型和(2)線性回歸模型組成,輸出僅顯示整體 ACME/ADE/etc(即沒有組)。

看起來mediate()函數的輸出采用最終 DV 的形式:即,如果您有二進制 DV,則結果將被分離到控制和處理中,而如果您有連續 DV,則輸出不會(因為輸出是數字而不是標稱比例,因此代表 β)。

使用中介包 vignette中的代碼,請參閱以下示例:

library(mediation)
data("framing", package = "mediation")
set.seed(2014)

#1: models exactly from mediation vignette: continuous m, binary DV 
med.fit <- lm(emo ~ treat + age + educ + gender + income, data = framing)
out.fit <- glm(cong_mesg ~ emo + treat + age + educ + gender + income, data = framing, family = binomial("probit"))
med.out <- mediate(med.fit, out.fit, treat = "treat", mediator = "emo", robustSE = TRUE, sims = 100)
summary(med.out)

#2: models swapped: binary DV, continuous m
med.fit <- glm(cong_mesg ~ treat + age + educ + gender + income, data = framing, family = binomial("probit"))
out.fit <- lm(emo ~ cong_mesg + treat + age + educ + gender + income, data = framing)
med.out <- mediate(med.fit, out.fit, treat = "treat", mediator = "emo", robustSE = TRUE, sims = 100)
summary(med.out)

如您所見, #1具有二進制 DV 和連續 M, mediate()的輸出被分離到控制和處理中,而2的輸出具有連續 DV 和二進制 M,而輸出不是。

在連續治療變量的情況下,您必須在調用mediate時定義對照組和治療組(此處為xy ):

fitMed.A3H1 <- mediate(fit.a.A3H1, fit.total.A3H1, sims=1000, boot=FALSE, 
                   treat="Composite_Z", mediator="Awareness",
                   control.value = x, treat.value = y,
                   covariates = NULL, use_speed = FALSE)

我知道它可能不會產生您可能期望的效果,但該軟件包的構建考慮了一個具有有限數量治療選項的實驗。 (請參閱小插圖中的第 3.3 節)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM