R - 列表作为函数中的输入参数列表

时间:2012-03-28 16:17:22

标签: r list nested-lists directed-acyclic-graphs

我正在使用gRbase软件包中的“dag”函数与绘图来创建一些DAG。

在“dag”帮助页面中,我在参数中看到了这一点:

  

x,包含图表生成类的列表,请参阅示例   以下

在下面的示例中,我看到类似的内容:

dagr <- dag(c("me","ve"),c("me","al"),c("ve","al"),c("al","an"),c("al","st"),c("an","st"))

因此,当我执行此代码时,它会起作用,并为我提供图表:

> plot(dag(c("A", "B"), c("B", "C")))

为什么当我创建自己的列表时出现以下错误?

> mylist <- list();
> mylist[1] <- list(c("A", "B"))
> mylist[2] <- list(c("B", "C"))
> mylist
[[1]]
[1] "A" "B"

[[2]]
[1] "B" "C"

> plot(dag(mylist))
Error in plot(dag(mylist)) : 
  error in evaluating the argument 'x' in selecting a method for function 'plot': Error in .ftM2other(ft, W, V, edgemode, "graphNEL") : 
  Node names in 'ft' must be contained in 'V'.

1 个答案:

答案 0 :(得分:1)

该函数需要几个参数, 但是你提供了一个参数(一个列表)。 在这种情况下,您可以使用do.call

do.call(dag, mylist)