本质上,我想设计一个函数,该函数使用列表的列表...其中最远的嵌套列表将具有一个向量作为单个元素,并且每个它的嵌套列表将有一个向量作为它的最后一个元素。在R中递归,函数不工作,不知道为什么
我想要的功能是查看每个最底层的嵌套元素并计算其中有多少。例如:假设A是16个向量的列表,B是10个向量的列表,C是12个向量的列表,并且D是8个向量的列表。 X是包含A,B和向量的列表,Y是包含C,D和向量的列表。 Z是X,Y和一个向量的列表。
该函数需要Z,并给出46(16 + 10 + 12 + 8)的输出。
这是我现在使用的代码:
listreader <- function(listoflists)
{
nlist = listoflists
ini = 0
its = 0
if(length(nlist) > 1)
{
for (i in 1:(length(nlist)))
{
listreader(nlist[[i]])
}
}
else
{
ini = ini+1
}
return(ini)
}
ITYM递归,而不是回归。 –
你能详细阐述一下为什么你想这样做吗?我有一种感觉,列表的列表等只有一个元素在每个树分支结束并不是最好的解决方案,但我可能是错的。此外,让你的例子可重现也会有很大帮助。 –
你可以添加一个可重复的例子,特别是澄清你的意思是“向量列表”,或者至少添加'str(your_list'来获取你的数据结构。 – agstudy