我正在尝试构建一个组合树模型,其中初始叶子是前 6 位数字。第 2 级是父母的 6 位数字中的 5 位数字的所有可能组合。然后第 3 级是其父母数字的 4 位数字的所有可能组合。这种模式一直持续到第 6 级,该级别仅由单个数字组成。
所以我的问题是有没有办法以这种方式生成一棵树?我一直在寻找 R 中基本树的示例,结果空手而归。任何建议将不胜感激。谢谢
你可以用这个得到类似的东西:
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