如何在列表中保存 100 个 SpatialLines 对象?
How to save 100 SpatialLines objects in the list?
我需要在列表中保存 100 个 SpatialLines 对象 xySpatialLines
。下面给出的代码提供了一个错误:
Error in xySpatialLines[i] = spl : invalid type/length (S4/0) in
vector allocation
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
}
初始化 xySpatialLines
不是作为 NULL 而是作为列表,例如通过
xySpatialLines <- list()
或更好,预先分配您需要的 space 以避免增量增长:
xySpatialLines <- vector(mode = "list", length = 100)
然后执行脚本的其余部分。
我需要在列表中保存 100 个 SpatialLines 对象 xySpatialLines
。下面给出的代码提供了一个错误:
Error in xySpatialLines[i] = spl : invalid type/length (S4/0) in vector allocation
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
}
初始化 xySpatialLines
不是作为 NULL 而是作为列表,例如通过
xySpatialLines <- list()
或更好,预先分配您需要的 space 以避免增量增长:
xySpatialLines <- vector(mode = "list", length = 100)
然后执行脚本的其余部分。