[英]R Mediation Analysis — Bootstrapping
我正在嘗試使用中介包在 R 中進行中介分析。 我查看了有關如何執行此操作的文檔,並通讀了 R 提供的示例(即,我已經運行了“example(mediate)”)。 盡管如此,我還是無法運行最簡單的中介。 理想情況下,我想做一個引導程序,a la Preacher & Hayes (2004)。
這是我嘗試運行的代碼:
model.m <- lm(desirdata1$zpers1 ~ desirdata1$zdesir1 + desirdata1$age)
model.y <- lm(desirdata1$zpers1 ~ desirdata1$age)
age1test <- mediate(model.m, model.y,treat="age", mediator="zdesir1",
boot=TRUE, sims=50)
請注意,數據集稱為desirdata
,處理稱為age
,結果稱為zpers1
,中介稱為“zdesir1”。 當我運行它時,我收到以下錯誤:
Error in `[.data.frame`(m.data, , treat) : undefined columns selected
它似乎聲稱一個變量(特別是治療變量)不存在。 但是,運行 names(desirdata) 表明變量在那里,並且命名正確,所有其他變量也是如此。 前兩個模型(model.m 和 model.y)運行良好,輸出看起來應該如此。 這只是我無法運行的中介模型。 據我所知,我沒有打錯字,而且我已經檢查了一百次。
想法?
當我閱讀文檔中的示例時,中介模型的model.m
將與主回歸對象model.y
結果不同。 由於您沒有描述背景和什么樣的數據,因此很難確定這一點,但想知道您是否打算輸入:
model.m <- lm(zdesir1 ~ age, data=desirdata1)
model.y <- lm(zpers1 ~ age, , data=desirdata1 )
age1test <- mediate(model.m, model.y,treat="age", mediator="zdesir1",
boot=TRUE, sims=50)
我使用formula
和data
對象來轉換它,因為當給定向量時,一些回歸函數會崩潰。 還可以更容易地查看錯別字。
你的模型不正確。 model.m 應該根據 IV 預測中介,model.y 應該根據中介和 IV 預測 DV。
model.m <- lm(desirdata1$zdesir1 ~ desirdata1$age)
model.y <- lm(desirdata1$zpers1 ~ desirdata1$zdesir1 + desirdata1$age)
age1test <- mediate(model.m, model.y, treat="age", mediator="zdesir1", boot=TRUE, sims=50)
試試 MBESS 包。 Preacher 推薦它,您可以使用中介功能。 如果你想要引導程序,請確保它說引導程序 = TRUE。 B 是引導程序的數量。
mediation(x, mediator, dv, S = NULL, N = NULL, x.location.S = NULL,
mediator.location.S = NULL, dv.location.S = NULL, mean.x = NULL,
mean.m = NULL, mean.dv = NULL, conf.level = 0.95,
bootstrap = FALSE, B = 1000, which.boot="both", save.bs.replicates=FALSE)
我在模擬數據方面遇到了同樣的問題,所以我運行了 debug(mediate) 並找到了問題所在。 我相信問題出在代碼的 [treat="age", mediator="zdesir1"] 部分。 如果您附加數據,您不應該遇到那個問題。 或者,您可以使用 [treat="desirdata1$age", mediator="desirdata1$zdesir1"] 來解決問題。
那么試試這個:
model.m <- lm(zdesir1 ~ age, data=desirdata1)
model.y <- lm(zpers1 ~ age + zdesir1, data=desirdata1)
age1test <- mediate(model.m, model.y,treat="age", mediator="zdesir1",
boot=TRUE, sims=50)
為簡單起見,中介模型 (model.m) 應將中介作為結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.