1

我正在处理来自 geosphere::gcIntermediate 的输出数据,它生成 Great Circle 航路点。输出是一个列表。然后我确定各个列表项的长度:

library(geosphere)
from = data.frame(lon = sample(-180:180,5), lat = sample(-90:90,5))
to = data.frame(lon = sample(-180:180,5), lat = sample(-90:90,5))
plot(gcIntermediate(from, to, n=30, breakAtDateLine=T, sp=T))
gcs = gcIntermediate(from, to, n=30, breakAtDateLine=T, sp=F)
print(gcs)
l = lapply(gcs, length)

但是将这个列表转换成一个简单的向量似乎是不可能的。我尝试的任何东西都会产生一个列表或维度 [100,1] 的矩阵,例如:

as.matrix(l)[,1]
as.vector(l)

尽管是矩阵,但这些数据是否具有某种不同的内部结构?例如将其与:

m = as.matrix(1:10)
m[,1]

感谢您的帮助。

4

1 回答 1

1

我会使用cbindor rbind,这取决于你所追求的。如果这回答了您的问题,请将您的问题标题修改为已知原因。:)

> do.call("rbind", l)
     [,1]
[1,]    2
[2,]   60
[3,]   60
[4,]   60
[5,]   60
> do.call("cbind", l)
     [,1] [,2] [,3] [,4] [,5]

[1,]    2   60   60   60   60
于 2013-07-10T12:47:27.647 回答