gpt4 book ai didi

r - 曲线回归面

转载 作者:行者123 更新时间:2023-12-04 03:30:18 26 4
gpt4 key购买 nike

我正在阅读科恩(Cohen),科恩(Cohen),艾肯(Aiken)和韦斯特(West)(2003)所著的《行为科学的应用多元回归相关分析》一书,并遇到了回归曲面的3d图,该图显示了相互作用而没有相互作用(第259页)。这些图形看起来可能是使用R创建的。我喜欢将图形用作教学工具,并希望复制它们。情节看起来像这样:

Coehn等人的唯一补充。图是x2的平均值,+ 1sd和= 1sd处的平面上的线。如果可能的话,这将是一个很好的加法(通常大多数事情对于R来说都是可能的)

我在下面提供了一个样本数据集,其中包含IV,2个预测变量和居中预测变量。我将如何使用R来生成回归表面(平面)图,以显示交互作用以及中心数据和非中心数据的加性模型(我假设技术是相同的,但需要确保)。

共有4个地块:
1.无中心的,没有互动的
2.不集中的互动
3.居中无互动
4.集中互动

DF<-structure(list(y = c(-1.22, -1.73, -2.64, -2.44, -1.11, 2.24, 
3.42, 0.67, 0.59, -0.61, -10.77, 0.93, -8.6, -6.99, -0.12, -2.29,
-5.16, -3.35, -3.35, -2.51, 2.21, -1.18, -5.21, -7.74, -1.34),
x1 = c(39.5, 41, 34, 30.5, 31.5, 30, 41.5, 24, 43, 39, 25.5,
38.5, 33.5, 30, 41, 31, 25, 37, 37.5, 24.5, 38, 37, 41, 37,
36), x2 = c(61L, 53L, 53L, 44L, 49L, 44L, 57L, 47L, 54L,
48L, 46L, 59L, 46L, 61L, 55L, 57L, 59L, 59L, 55L, 50L, 62L,
55L, 55L, 52L, 55L), centered.x1 = c(5.49702380952381, 6.99702380952381,
-0.0029761904761898, -3.50297619047619, -2.50297619047619,
-4.00297619047619, 7.49702380952381, -10.0029761904762, 8.99702380952381,
4.99702380952381, -8.50297619047619, 4.49702380952381, -0.50297619047619,
-4.00297619047619, 6.99702380952381, -3.00297619047619, -9.00297619047619,
2.99702380952381, 3.49702380952381, -9.50297619047619, 3.99702380952381,
2.99702380952381, 6.99702380952381, 2.99702380952381, 1.99702380952381
), centered.x2 = c(9.80357142857143, 1.80357142857143, 1.80357142857143,
-7.19642857142857, -2.19642857142857, -7.19642857142857,
5.80357142857143, -4.19642857142857, 2.80357142857143, -3.19642857142857,
-5.19642857142857, 7.80357142857143, -5.19642857142857, 9.80357142857143,
3.80357142857143, 5.80357142857143, 7.80357142857143, 7.80357142857143,
3.80357142857143, -1.19642857142857, 10.8035714285714, 3.80357142857143,
3.80357142857143, 0.803571428571431, 3.80357142857143)), .Names = c("y",
"x1", "x2", "centered.x1", "centered.x2"), row.names = c(NA,
25L), class = "data.frame")

先感谢您。

编辑:以下代码绘制了平面,但是当您进行交互时(这确实是我感兴趣的)将无法使用。另外,我也不知道如何绘制x2的高(+ 1sd),低(-1sd)和均值。
x11(10,5)
s3d <- scatterplot3d(DF[,c(2,3,1)], type="n", highlight.3d=TRUE,
angle=70, scale.y=1, pch=16, main="scatterplot3d")

# Now adding a regression plane to the "scatterplot3d"
my.lm <- with(DF, lm(y ~ x1 + x2))
s3d$plane3d(my.lm, lty.box = "solid")

尝试绘制交互平面(请参见此处):
s3d <- scatterplot3d(DF[,c(2,3,1)], type="n", highlight.3d=TRUE,
angle=70, scale.y=1, pch=16, main="scatterplot3d")

my.lm <- with(DF, lm(y ~ x1 + x2 + x1:x2 ))
s3d$plane3d(my.lm, lty.box = "solid")

产生以下错误:
Error in segments(x, z1, x + y.max * yx.f, z2 + yz.f * y.max, lty = ltya,  : 
cannot mix zero-length and non-zero-length coordinates

最佳答案

这就是我使用包“rms”和“lattice”来做(添加一些颜色)的方法:

require(rms)  # also need to have Hmisc installed
require(lattice)
ddI <- datadist(DF)
options(datadist="ddI")
lininterp <- ols(y ~ x1*x2, data=DF)
bplot(Predict(lininterp, x1=25:40, x2=45:60),
lfun=wireframe, # bplot passes extra arguments to wireframe
screen = list(z = -10, x = -50), drape=TRUE)

和非交互模型:
 bplot(Predict(lin.no.int, x1=25:40, x2=45:60), lfun=wireframe, col=2:8, drape=TRUE, 
screen = list(z = -10, x = -50),
main="Estimated regression surface with no interaction")

关于r - 曲线回归面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7863906/

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