在R中使用单个函数返回两个图形

7
我正在尝试实现一个函数,可以使用单个函数绘制两个时间序列图,但它只返回一个图。以下是代码,请问出了什么问题。

我正在尝试实现一个函数,用于绘制两个时间序列图,但该函数只能返回一个图。请查看以下代码,看看有何问题。

visualize <- function(x) {

    x<-data.frame(x)

    x1 <- x[x$chr == 1, ]
    x2 <- x[x$chr != 1, ]

    t1<-data.frame("range"=1:nrow(x1))
    t2<-data.frame("range"=1:nrow(x2))

    t1$testsample_first<-exp(x1$testSample1)
    t1$testsample_second<-exp(x1$testSample2)


    t2$testsample_first<-exp(x2$testSample1)
    t2$testsample_second<-exp(x2$testSample2)

    dygraph(t1);dygraph(t2)
 }


(visualize(scon))

它只绘制第二个。我尝试通过在第一个函数中调用第二个函数来实现,但结果相同。

1
如果您想返回多个对象,请返回列表。 - Severin Pappadeux
1
#1 请提供一个可复制粘贴并可执行的示例,包括虚拟数据和所需库。 #2 可能绘制了第一个和第二个,但第二个正在替换第一个。如果您正在使用RStudio,则可以在查看器窗格中使用后退按钮。 - lukeA
1个回答

9
你需要在一个 list 中返回这两个对象:
list(plot(t1), plot(t2))

Severin Pappadeu 谢谢,它起作用了。我的错误是我在使用 return 时返回了向量矩阵。 - Prayalankar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接