我正在处理来自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]
感激帮助。
答案 0 :(得分:1)
我会使用cbind
或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