如何在列表中保存100个SpatialLines对象?

时间:2015-01-19 13:52:42

标签: r list spatial

我需要在列表xySpatialLines中保存100个SpatialLines对象。下面给出的代码提供了一个错误:

  

xySpatialLines [i] = spl中的错误:无效的类型/长度(S4 / 0)in   矢量分配

library(sp)
xySpatialLines <- NULL

for(i in 1:100)
{
 x <- c(i,5,4,8)
 y <- c(1,3,4,i)
 xy <- cbind(x,y)
 xy.sp = sp::SpatialPoints(xy)
 spl <- SpatialLines(list(Lines(Line(xy.sp), ID=i)))
 xySpatialLines[i] = spl
}

1 个答案:

答案 0 :(得分:4)

初始化xySpatialLines不是NULL而是作为列表,例如由

xySpatialLines <- list()

或更好,预先分配您需要的空间以避免增量增长:

xySpatialLines <- vector(mode = "list", length = 100)

然后执行脚本的其余部分。