R指向向量列表中的向量的元素

时间:2013-03-22 00:47:52

标签: r list

如果我有一个列表,例如在其中的坐标,我如何单独引用列表中每个元素的元素?

coord=list(c(104,1.5),c(144.97,-37.78),c(121.5,25.03))

我想做的是像

for(i in coord){
print(i[1])
print(i[2])}

以上示例不起作用 (在实践中,我当然会用它们来绘制一些东西)。

以下一个确实有效但我正在试着看看是否有更优雅的'R'方式。

coord=c(c(104,1.5),c(144.97,-37.78),c(121.5,25.03))
for(i in seq(1,length(coord),2)){
print(coord[i])
print(coord[i+1])
}

2 个答案:

答案 0 :(得分:2)

我认为你只需要unlist

unlist(coord)
## [1] 104.00   1.50 144.97 -37.78 121.50  25.03

如果您希望将它们提取为2列数据进行绘图,那么您应该将unlist ed数据投射到matrix

plot(matrix(unlist(coord), ncol = 2, byrow=TRUE))

这应该给你如下图

enter image description here

答案 1 :(得分:1)

我不知道你到底想要什么...

你不是想这么做吗?

> coord[[1]][1]
[1] 104