r - 如何用R中的递归函数填充列表?

标签 r list recursion dendrogram

我正在使用 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)
}

在哪里:
  • lista:是树状图分支
  • 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/

    相关文章:

    python - 如何检查变量是 python 列表、numpy 数组还是 pandas 系列

    r - 将泊松二项式分布拟合到数据

    r - 由 recordPlot() 函数保存的 Base R 图的绘图布局

    对象列表中的 Python 返回具有类属性集的第一个对象

    list - 在方案中创建列表的排列

    list - 无法理解 Haskell 中的原始递归定义

    java - 递归地反转字符串

    php - 如何递归地向每个数组添加键?

    r - 使用 R 中的向量列将多个条目转换为单行

    r - 设置工作目录: "Error in setwd: cannot change working directory" under "C:/Documents and Settings/..."