Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 试图附加一个列表,但有东西断了_List_R - Fatal编程技术网

List 试图附加一个列表,但有东西断了

List 试图附加一个列表,但有东西断了,list,r,List,R,我正在尝试创建一个空列表,其中包含的元素数量与num.of.walkers的元素数量相同。然后,我尝试向每个创建的元素追加一个新的子列表(新子列表的长度对应于a中的一个值) 当我在R里摆弄时,一切都很顺利: list.of.dist[[1]] <- vector("list", a[1]) list.of.dist[[2]] <- vector("list", a[2]) list.of.dist[[3]] <- vector("list", a[3]) list.of.dis

我正在尝试创建一个空列表,其中包含的元素数量与
num.of.walkers
的元素数量相同。然后,我尝试向每个创建的元素追加一个新的子列表(新子列表的长度对应于
a
中的一个值)

当我在R里摆弄时,一切都很顺利:

list.of.dist[[1]] <- vector("list", a[1])
list.of.dist[[2]] <- vector("list", a[2])
list.of.dist[[3]] <- vector("list", a[3])
list.of.dist[[4]] <- vector("list", a[4])

list.of.dist[[1]]假设“walk.df”类似于:

walk.df <- data.frame(label=sample(1:10,100,T),var2=1:100)

walk.df在for()循环中使用length()应替换为nrow(),但除此之外-完美!我很好奇为什么我的解决方案不起作用,有人知道吗?为了回答您关于创建列表的合理性的问题,我想预先分配一个空列表,用于容纳RasterLayer对象。我认为这比使用deparse()创建对象要优雅一些。关于原始函数为何不起作用的简短回答:在第一个“for”循环中,您试图将值分配给“a”的元素,而“a”的元素不起作用,因为“a”没有元素。
walk.df <- data.frame(label=sample(1:10,100,T),var2=1:100)
countNumberOfWalks <- function(walk.df) {
    list.of.walkers <- sort(unique(walk.df$label))
    num.of.walkers <- length(unique(walk.df$label))

    list.of.dist <- vector("list", num.of.walkers)

    for (i in 1:num.of.walkers) {
        list.of.dist[[i]] <- vector("list", 
        nrow(walk.df[walk.df$label == list.of.walkers[i],]))}

    return(list.of.dist)
}