将矩阵列转换为向量会因原因未知而失败

时间:2013-07-10 12:43:24

标签: r geosphere

我正在处理来自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]

感激帮助。

1 个答案:

答案 0 :(得分:1)

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

> 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