首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“plot”如何知道如何在没有进一步说明的情况下绘制对象?

“plot”如何知道如何在没有进一步说明的情况下绘制对象?
EN

Stack Overflow用户
提问于 2021-12-13 12:56:26
回答 1查看 140关注 0票数 0

使用R基函数plot,我们只需提供数据就可以绘制不同的图,而无需指定进一步的参数。例如,如果我们绘制一个时间序列,使用plot(my_ts)调用plot.ts(my_ts),因为my_ts是类ts

同样,我们可以使用图方差分析结果,而不需要任何参数。以下是一些方差分析模型:

代码语言:javascript
复制
data <- data.frame(group = c(rep("group_1",25),rep("group_2",25)), scores = c(runif(25,0,1),runif(25,1.5,2.5)))
mod1 <- aov(scores~group,data=data)

使用plot(mod1)可以工作,但plot(summary(mod1))会导致错误

“xy.coords中的错误(x,y,xlabel,ylabel,log):'x‘是一个列表,但没有组件'x’和'y'”。

plot函数似乎在寻找名为xy的数据,同时试图在没有任何参数的情况下自动创建一个绘图。我试过names(mod1),但没有找到任何xy。那么,plot(mod1)如何工作,而plot(summary(mod1))却不起作用呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-13 13:05:28

在键入class(x)时,会根据plot(x)调用多个方法。这就是所谓的方法分派。还可以为摘要对象创建新的方法,例如plot.summary.aov

代码语言:javascript
复制
data <- data.frame(group = c(rep("group_1",25),rep("group_2",25)), scores = c(runif(25,0,1),runif(25,1.5,2.5)))
mod1 <- aov(scores~group,data=data)

plot(mod1)

让我们定义一个新的存根图函数

代码语言:javascript
复制
plot.summary.aov <- function(x) {
  plot(iris)
}

plot(summary(mod1))

代码语言:javascript
复制
methods(plot)
#>  [1] plot.acf*           plot.data.frame*    plot.decomposed.ts*
#>  [4] plot.default        plot.dendrogram*    plot.density*      
#>  [7] plot.ecdf           plot.factor*        plot.formula*      
#> [10] plot.function       plot.hclust*        plot.histogram*    
#> [13] plot.HoltWinters*   plot.isoreg*        plot.lm*           
#> [16] plot.medpolish*     plot.mlm*           plot.ppr*          
#> [19] plot.prcomp*        plot.princomp*      plot.profile.nls*  
#> [22] plot.R6*            plot.raster*        plot.spec*         
#> [25] plot.stepfun        plot.stl*           plot.summary.aov   
#> [28] plot.table*         plot.ts             plot.tskernel*     
#> [31] plot.TukeyHSD*     
#> see '?methods' for accessing help and source code
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70335038

复制
相关文章

相似问题

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