从R中的多重回归绘制“回归线”

baixiwei

我对多个连续的预测变量进行了多元回归,其中一些预测变量非常重要,我想针对其中一个预测变量创建DV的散点图或类似散点图,包括“回归线”。我怎样才能做到这一点?

我的情节看起来像这样

D = my.data; plot( D$probCategorySame, D$posttestScore )

如果是简单回归,则可以添加如下回归线:

lmSimple <- lm( posttestScore ~ probCategorySame, data=D )
abline( lmSimple ) 

但是我的实际模型是这样的:

lmMultiple <- lm( posttestScore ~ pretestScore + probCategorySame + probDataRelated + practiceAccuracy + practiceNumTrials, data=D )

我想添加一条反映系数并从实际模型截取而不是简化模型的回归线。我想为所有其他预测变量都取平均值可以做到这一点,尽管我准备听听相反的建议。

这可能没有什么区别,但是我只是以防万一,由于我可能不想绘制原始数据的事实,情况稍微有些复杂。相反,我想针对预测值的合并值绘制DV的平均值,如下所示:

D[,'probCSBinned'] = cut( my.data$probCategorySame, as.numeric( seq( 0,1,0.04 ) ), include.lowest=TRUE, right=FALSE, labels=FALSE )
D = aggregate( posttestScore~probCSBinned, data=D, FUN=mean )
plot( D$probCSBinned, D$posttestScore )

只是因为当我这样做时,它看起来对我的数据而言更加干净。

大卫·马克思

您需要在图的域中创建一个x值向量,并从模型中预测它们对应的y值。为此,您需要将此向量注入一个数据帧,该数据帧由与模型中的变量匹配的变量组成。您说过可以将其他变量固定在它们的平均值上,所以可以,因此我在解决方案中使用了该方法。给定绘图中的其他值,您所预测的x值实际上是否合法,应该在设置时考虑。

没有示例数据,我无法确定这是否完全适合您,因此,我对下面是否有任何错误表示歉意,但这至少应该说明这种方法。

# Setup
xmin = 0; xmax=10 # domain of your plot
D = my.data
plot( D$probCategorySame, D$posttestScore, xlim=c(xmin,xmax) )
lmMultiple <- lm( posttestScore ~ pretestScore + probCategorySame + probDataRelated + practiceAccuracy + practiceNumTrials, data=D )

# create a dummy dataframe where all variables = their mean value for each record
# except the variable we want to plot, which will vary incrementally over the 
# domain of the plot. We need this object to get the predicted values we
# want to plot.
N=1e4
means = colMeans(D)
dummyDF = t(as.data.frame(means))
for(i in 2:N){dummyDF=rbind(dummyDF,means)} # There's probably a more elegant way to do this.
xv=seq(xmin,xmax, length.out=N)
dummyDF$probCSBinned = xv 
# if this gives you a warning about "Coercing LHS to list," use bracket syntax:
#dummyDF[,k] = xv # where k is the column index of the variable `posttestScore`

# Getting and plotting predictions over our dummy data.
yv=predict(lmMultiple, newdata=subset(dummyDF, select=c(-posttestScore)))
lines(xv, yv)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从R中的多重回归绘制“回归线”

来自分类Dev

无法在R中绘制回归线

来自分类Dev

如何绘制回归线?

来自分类Dev

回归线绘制 Python

来自分类Dev

ggplot中的回归线

来自分类Dev

如何在图形中绘制回归线

来自分类Dev

在嵌套列表中为每个记录绘制回归线

来自分类Dev

如何删除R中的某些数据?(多重回归)

来自分类Dev

如何在R中的时间序列上绘制多项式回归线?

来自分类Dev

Matlab中的点簇的回归线

来自分类Dev

ggplot2中的回归线

来自分类Dev

Matlab中的点簇的回归线

来自分类Dev

如何在R的同一散点图中绘制几条回归线?

来自分类Dev

ggplot2:如何绘制正交回归线?

来自分类Dev

如何用公式说明绘制回归线

来自分类Dev

如何仅通过数据范围绘制回归线

来自分类Dev

绘图:如何使用绘图绘制回归线?

来自分类Dev

在同一图中绘制模拟回归线

来自分类Dev

将回归线添加到绘制的矩阵

来自分类Dev

如何用公式说明绘制回归线

来自分类Dev

ggplot2:如何绘制正交回归线?

来自分类Dev

在ggplot2中绘制没有交互作用的线性回归线

来自分类Dev

如何在Matlab中的绘图矩阵的每个子图中绘制回归线?

来自分类Dev

如何在Chart.js中绘制线性回归线

来自分类Dev

在ggplot2中绘制回归线拟合的问题(忽略未知参数:方法)

来自分类Dev

回归线的热图

来自分类Dev

估计回归线方程

来自分类Dev

R plotly():向相关散点图添加回归线

来自分类Dev

指定回归线截距(R&ggplot2)