【问题标题】:`scatterplot3d`: can not add a regression plane to 3D scatter plot`scatterplot3d`:无法将回归平面添加到 3D 散点图
【发布时间】:2017-03-01 12:02:23
【问题描述】:

我在 R 中创建了一个 3d 散点图并想添加一个回归平面。我查看了 statmethods.net 网站上的代码,它非常有用,而且很有效。然后我用自己的数据试了一下,飞机没有出现。

library(scatterplot3d)
s3d <- scatterplot3d(Try$Visits, Try$Net.Spend, Try$Radio, pch=16, highlight.3d = TRUE, type = "h", main = "3D Scatterplot")
fit <- lm(Try$Visits ~ Try$Net.Spend +Try$Radio)
s3d$plane3d(fit)

【问题讨论】:

    标签: r plot regression linear-regression lm


    【解决方案1】:

    我无法通过以下可重现的示例重现该问题:

    set.seed(0)
    x <- runif(20)
    y <- runif(20)
    z <- 0.1 + 0.3 * x + 0.5 * y + rnorm(20, sd = 0.1)
    dat <- data.frame(x, y, z)
    rm(x,y,z)
    
    fit <- lm(z ~ x + y, data = dat)
    library(scatterplot3d)
    s3d <- scatterplot3d(dat$x, dat$y, dat$z, pch=16, highlight.3d = TRUE, type = "h", main = "3D Scatterplot")
    s3d$plane3d(fit)
    

    您应该避免在模型公式中使用$。请改用data 参数:

    fit <- lm(Visits ~ Net.Spend + Radio, data = Try)
    

    【讨论】:

      【解决方案2】:

      散点图中的 z 变量(因变量)是 Try$Radio,而在回归模型中,因变量是 Try$Visits,这会导致混淆。散点图参数中的第三个变量被视为因变量 R。

      【讨论】:

        猜你喜欢
        • 2016-11-14
        • 2012-11-13
        • 2020-10-05
        • 1970-01-01
        • 1970-01-01
        • 2013-05-05
        • 1970-01-01
        • 2018-04-30
        相关资源
        最近更新 更多