在R中组装组合树

时间:2013-08-16 18:53:35

标签: r tree

我正在尝试构建一个Combinatorial Tree模型,其中初始叶子是前6位数。第二级是父母的6位数的5位数的所有可能组合。然后第3级是它的父母数字的4位数的所有可能组合。这种模式一直持续到第6级,它只由一位数组成。

所以我的问题是有一种以这种方式生成树的方法吗?我一直在寻找R中基本树木的例子,空手而归。任何建议将不胜感激。谢谢

1 个答案:

答案 0 :(得分:1)

你可以用这个来得到类似的东西:

f <- function(x)
{
    if(length(x)==1) return(c(value=x))

    c(list(value=x), child=lapply(seq(x), function(i)f(x[-i])))
}

示例:

> f(1:3)
$value
[1] 1 2 3

$child1
$child1$value
[1] 2 3

$child1$child1
value 
    3 

$child1$child2
value 
    2 


$child2
$child2$value
[1] 1 3

$child2$child1
value 
    3 

$child2$child2
value 
    1 


$child3
$child3$value
[1] 1 2

$child3$child1
value 
    2 

$child3$child2
value 
    1