私は、sjpPlot、sjp.int関数を使用して、lmeのインタラクションをプロットしています。 モデレータ値のオプションは、平均+/- sd、四分位数、すべて、最大/最小です。 +/- 2sdの平均をプロットする方法はありますか?sjPlotのやりとりにおける平均モデレータオプションの適合
通常、それはこのようになります:
model <- lme(outcome ~ var1+var2*time, random=~1|ID, data=mydata, na.action="na.omit")
sjp.int(model, show.ci=T, mdrt.values="meansd")
感謝
再現例:sjPlotで
#create data
mydata <- data.frame(SID=sample(1:150,400,replace=TRUE),age=sample(50:70,400,replace=TRUE), sex=sample(c("Male","Female"),200, replace=TRUE),time= seq(0.7, 6.2, length.out=400), Vol =rnorm(400),HCD =rnorm(400))
mydata$time <- as.numeric(mydata$time)
#insert random NAs
NAins <- NAinsert <- function(df, prop = .1){
n <- nrow(df)
m <- ncol(df)
num.to.na <- ceiling(prop*n*m)
id <- sample(0:(m*n-1), num.to.na, replace = FALSE)
rows <- id %/% m + 1
cols <- id %% m + 1
sapply(seq(num.to.na), function(x){
df[rows[x], cols[x]] <<- NA
}
)
return(df)
}
mydata2 <- NAins(mydata,0.1)
#run the lme which gives error message
model = lme(Vol ~ age+sex*time+time* HCD, random=~time|SID,na.action="na.omit",data=mydata2);summary(model)
mydf <- ggpredict(model, terms=c("time","HCD [-2.5, -0.5, 2.0]"))
#lmer works
model2 = lmer(Vol ~ age+sex*time+time* HCD+(time|SID),control=lmerControl(check.nobs.vs.nlev = "ignore",check.nobs.vs.rankZ = "ignore", check.nobs.vs.nRE="ignore"), na.action="na.omit",data=mydata2);summary(model)
mydf <- ggpredict(model2, terms=c("time","HCD [-2.5, -0.5, 2.0]"))
#plotting gives problems (jittered lines)
plot(mydf)
こんにちはダニエル、ありがとう!私はggeffectsで遊んでいます。 lme関数でプロットできませんでしたが、lmerがうまくいくようです。 lmeのエラーメッセージ: "predict.lme(model、newdata = fitfram、type ="レスポンス "、...)のエラー: 'newdata'で希望のレベルのグループを評価できません" それはlmeで終わった?(random intercept/random slope) しかし、mydfの出力をplotまたはggplotでプロットすると、スロープはまっすぐではなく、ジッタがあります。それはなぜでしょうか? – user6121484
再現可能な例がありますか?あなたが好きなら、あなたは電子メールでそれを送ることができます。 – Daniel
現在の[gitHub-version of ggeffects](https://github.com/strengejacke/ggeffects)は、lme-modelsの問題を修正する必要があります。 – Daniel