【发布时间】:2018-09-01 22:03:56
【问题描述】:
我正在编写一个包含函数的简短 R 包。该函数返回一个向量列表。我想使用 plot 函数来默认绘制一个用其中一些向量完成的图,添加线条并添加一个新参数。
例如,如果我使用 survival 包,我可以获得以下信息:
library(survival)
data <- survfit(Surv(time, status == 2) ~ 1, data = pbc)
plot(data) # Plots the result of survfit
plot(data, conf.int = "none") # New parameter
为了尝试做一个可重现的例子:
f <- function(x, y){
b <- x^2
c <- y^2
d <- x+y
return(list(one = b, two = c, three = d))
}
dat <- f(3, 2)
所以使用plot(dat) 我想得到与plot(dat$one, dat$two) 相同的结果。我还想再添加一个(新)参数,可以设置为TRUE/FALSE。
这可能吗?
【问题讨论】:
-
没有
dat$a,更没有plot$b,想要的结果图是什么,为什么像myplot <- function(mydat) plot(dat[[1]], dat[[2]], ...)这样的自定义函数不能满足你? -
我的意思是 dat$one 和 dat$two (已经编辑),我知道如何制作自己的功能,但我想知道这是否可能(并且容易),因为我认为这是一个更直觉行为。
-
试试
plot(data.frame(dat[1:2]))