3

例子:

x <- c(1,2,5,6)
y <- c(3,5,2,9)
m <- lm(y ~ x)
plot(m)

plot(m) 会吐出一系列的情节。我的问题是,我怎么知道它会吐出什么情节?Paul Teetor 的书如何知道如何plot(m, which=1)选择残差图?ls.str(m)在这里显得毫无用处。

我的猜测是 lm 类为该函数定义了某种接口plot(),但我不知道如何获取有关其工作原理或可用绘图的任何信息(除了键入plot(m)和写下黑匣子吐出的内容)。

4

2 回答 2

3

您提到“lm该类具有为该函数定义的某种接口plot()”。实际上,这是 R 中的一种 S3 机制,它遵循“method.class”命名约定。在这里,方法是plot,类是lm。您无需输入plot.lm即可获得这些图。当你调用 时plot,R 将首先检查第一个参数的类类型,并发现它(m在这种情况下)是类的lm;然后 R 自动调用该plot.lm函数。

对于该方法,您可以通过输入Rplot看到它适用于更多类:methods(plot)

 [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). 然后你会在第一行注意到:

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:) 希望这会有所帮助!

于 2013-10-15T05:54:02.643 回答
3

这一页

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.

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

于 2013-10-15T03:39:48.353 回答