【发布时间】:2019-11-26 23:28:20
【问题描述】:
我正在准备一个小型 r 包,我想在通过函数创建的对象上使用函数 plot(),并获得自定义图。例如,这是一个非常愚蠢的示例函数:
myfun <- function(x,y){
A <- B <- c()
for(i in 1:x) {
A[i] <- i^2
B[i] <- i^2+1}
return(list(A,B))
}
然后,我创建一个包含 2 个向量的列表:
obj <- myfun(5,6)
因此,获取绘图的标准方法是:
plot(x=obj[[1]],y=obj[[2]], main='my title',type = 'b', col='red)
但是,我想运行以下命令:
plot(obj)
并得到同样的结果。所以我不知道如何将它编码到我的函数中以获得完全个性化的情节。另外,我想获得一个自定义的汇总表,例如,运行以下内容:
summary(obj)
能够得到一张带有means、sd等的表格。 我在 StackOverflow 上到处找这个,但没有成功,但也许我使用了错误的关键字。提前非常感谢。
【问题讨论】:
-
您必须添加一个 S3 方法来绘制...例如
plot.your_class <- function(your_dat){plot(x=obj[[1]],y=obj[[2]], main='my title',type = 'b', col='red)}重要的是,您还需要为输出对象分配一个新类。见 adv-r.had.co.nz/S3.html>