1

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

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

4

1 回答 1

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 
于 2013-08-16T20:04:26.110 回答