gpt4 book ai didi

r - 多重条件效应图

转载 作者:行者123 更新时间:2023-12-04 10:39:57 26 4
gpt4 key购买 nike

我有以下线性模型:y ~ x1 + x2 + x3 + (x1*x2) + (x1*x3) + (x2*x3)

x1x2 是连续的,x3 是一个虚拟变量。

我似乎无法弄清楚如何并排绘制条件效应图,以便我可以检查以下内容:

  • x1|x2y 的条件影响(也有条件)x3=0 <
  • x3=1 时 x1|x2y 的条件影响

我查看了过去用于制作效果图并“搜索”互联网的许多 R 包的文档,但似乎无法找到这个特定问题的答案。我觉得我以前见过类似的涉及“假”数据的事情,但一直没能再次找到它。

非常感谢任何帮助!

最佳答案

我真的不知道有什么程序包可以自动执行此任务,但您可以通过几个按键自己完成。注意,R 足够聪明,可以理解

  model <- lm(y~x1*x2*x3,data) = to y ~ x1 + x2 + x3 + (x1*x2) + (x1*x3) + (x2*x3).

要了解交互作用,您需要绘制拟合图。问题是你有三个自变量,所以你真的需要一个 4d 图,这很难画。这就是说,另一种方法是简单地在两个单独的图中绘制针对 x1 和 x2 的拟合,一个对应于虚拟变量 x3 的每个级别。让我们在实践中看看:

set.seed(1)
obs <- data.frame(x3=sample(c("A","B"),size=100,replace=TRUE),
x2=sample(1:10,size=100,replace=TRUE),
x1=sample(1:10,size=100,replace=TRUE),
y=rnorm(100))

model <- lm(y~x1*x2*x3,data=obs)

anova(update(model,.~.-x1:x2:x3),model)


fit.A <- data.frame(x3="A",x2=rep(1:10,10),x1=rep(1:10,each=10))
fit.A$pred <- predict(model,newdata=fit.A)
fit.B <- data.frame(x3="B",x2=rep(1:10,10),x1=rep(1:10,each=10))
fit.B$pred <- predict(model,newdata=fit.B)
par(mfrow=c(1,2),mai=c(0,0.1,0.2,0)+.02)

persp(x=1:10,y=1:10,z=matrix(fit.A$pred,nrow=10,ncol=10,byrow=TRUE),
xlab="x2",ylab="x1",zlab="fit",main="x3 = A",zlim=c(-.8,1.1))
persp(x=1:10,y=1:10,z=matrix(fit.B$pred,nrow=10,ncol=10,byrow=TRUE),
xlab="x1",ylab="x2",zlab="fit",main="x3 = B",zlim=c(-.8,1.1))

enter image description here

另一种方法是使用 lattice 包或 effects 包中的 wireframe(y ~ x1 * x2 | x3) 函数。

关于r - 多重条件效应图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31776349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com