我正在使用 HAC(分层凝聚聚类)。我有一个树状图,我正在尝试将元素保存到文件中,以进行后验分析(按簇为元素分配代码)。
我有一个递归函数,它采用树状图的一个分支并返回一个元素列表。
我的问题如下,当函数返回列表时,它只包含我的分支的元素之一,尽管正确附加了每个元素。这是我的代码:
lista_interna<-function(lista,elementos){
print(paste("Tam El. ",length(elementos),""))
for (i in 1:length(lista)){
if(typeof(lista[[i]])=="integer"){
print("agrega agrega...")
elementos[[length(elementos)+1L]]<-lista[[i]]
}else if(typeof(lista[[i]])=="list"){
print("Hace Recall....")
Recall(lista[[i]],elementos);
}
}
print(elementos) # when I print here the list, contains all elements
return (elementos)
}
在哪里:
如果 a 调用该函数,结果是一个包含一个元素(第一个叶子)的列表:
empty<-list()
res<-lista_interna(dendrogram_branch,empty)
欢迎任何建议。
此致,
弗拉基米尔。
最佳答案
评论:请发布一个可重现的示例。
快速回答:
用:
elementos <- Recall(lista[[i]],elementos)
你试过这个吗?
unlist(lista)
关于r - 如何用R中的递归函数填充列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18607090/