首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中绘制线性模型(lm)对象的力学原理?

在R中绘制线性模型(lm)对象的力学原理?
EN

Stack Overflow用户
提问于 2013-10-15 03:31:05
回答 2查看 1.3K关注 0票数 3

示例:

代码语言:javascript
复制
x <- c(1,2,5,6)
y <- c(3,5,2,9)
m <- lm(y ~ x)
plot(m)

地块(M)将吐出一系列情节。我的问题是,我怎么知道它会吐出什么情节?保罗·提特的书是如何写plot(m, which=1)来选择残差图的?ls.str(m)在这里似乎毫无用处。

我的猜测是,lm类具有为plot()函数定义的某种接口,但我不知道如何获得该函数的工作方式或可用的情节(除了键入plot(m)和写下黑匣子显示的内容外)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-15 05:54:02

您提到了“lm类具有为plot()函数定义的某种接口”。实际上,这是R中的S3机制,它遵循"method.class“命名约定。这里,方法是plot,类是lm。你不需要输入plot.lm就能得到这些情节。当您调用plot时,R将首先检查第一个参数的类类型,并将它(在本例中为m)键入为类lm;然后R自动调用plot.lm函数。

对于plot方法,您可以看到它通过在R中键入methods(plot)来应用于更多的类:

代码语言:javascript
复制
 [1] plot.acf*           plot.data.frame*    plot.decomposed.ts* plot.default        plot.dendrogram*   
 [6] plot.density        plot.ecdf           plot.factor*        plot.formula*       plot.function      
[11] plot.gofm*          plot.gofv*          plot.hap.score*     plot.hclust*        plot.histogram*    
[16] plot.HoltWinters*   plot.isoreg*        plot.lm             plot.md             plot.medpolish*    
[21] plot.mlm            plot.ppr*           plot.prcomp*        plot.princomp*      plot.profile.nls*  
[26] plot.spec           plot.spline*        plot.stepfun        plot.stl*           plot.table*        
[31] plot.ts             plot.tskernel*      plot.TukeyHSD       plot.xyVector*     

   Non-visible functions are asterisked

你看,plot.lm就是其中之一。要了解其中的任何一个,您可以使用fix(plot.lm)。然后你会注意到在第一行:

代码语言:javascript
复制
caption = list("Residuals vs Fitted", 
    "Normal Q-Q", "Scale-Location", "Cook's distance", "Residuals vs Leverage", 
    expression("Cook's dist vs Leverage  " * h[ii]/(1 - h[ii])))

显然,当您在类plot的对象上调用lm :)时,您将知道构建了哪些地块:)希望这会有所帮助!

票数 4
EN

Stack Overflow用户

发布于 2013-10-15 03:39:48

此页

http://stat.ethz.ch/R-manual/R-patched/library/stats/html/plot.lm.html

解释了这6个情节是什么。

第一个是残差,它对应于示例中的which=1。以下是这一页的引文:

Six plots (selectable by which) are currently available: a plot of residuals against fitted values, a Scale-Location plot of sqrt(| residuals |) against fitted values, a Normal Q-Q plot, a plot of Cook's distances versus row labels, a plot of residuals against leverages, and a plot of Cook's distances against leverage/(1-leverage). By default, the first three and 5 are provided.

我希望网页对你来说是朝着正确方向迈出的一步。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19372835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档