【发布时间】:2016-06-08 16:15:32
【问题描述】:
我有一个mem.shapes 类SpatialPolygonsDataFrame 的对象列表。每个列表元素都包含一个槽mem.shapes[[i]]@data,它是一个包含mem.shapes[[i]]@data$SCINAME 列的数据框。
我想提取mem.shapes 中在mem.shapes[[i]]@data$SCINAME[1] 中具有特定字符串的元素。以下代码给出了我想要的:
SCINAME <- vector(mode="character", length=length(mem.shapes))
for(i in 1:length(mem.shapes)){
SCINAME[i] <- as.character(mem.shapes[[i]]@data$SCINAME[1])
}
which(SCINAME=="Dendroica magnolia")
但我想有一种更简洁的方法可以做到这一点——某种类似which 的语句可以“进入”列表元素的@data 槽以返回具有@ 的索引i 987654331@
抱歉,如果之前已回答过此问题;尽管搜索,我还是找不到它。如果能帮助我使我的问题更笼统和更易于搜索,我将不胜感激,因为我想这一定是一个相当普遍的问题。
【问题讨论】: