1

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

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])
}
4

2 回答 2

2

I think you just need unlist for that.

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

If you are looking to extract them as 2 column data to plot then you should cast unlisted data to matrix

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

This should give you figure as below

enter image description here

于 2013-03-22T01:16:07.280 回答
1

我不太明白你到底想要什么...

你不是想这样做吗?

> coord[[1]][1]
[1] 104
于 2013-03-22T03:32:20.847 回答