我已将一系列 SpatialPolygonsDataFrames 加载到我的工作区中。每个命名对象都有"_adm0"
,"_adm1"
或"_adm2"
附加到国家/地区缩写。对于德国,这看起来像"DEU_adm0"
、"DEU_adm1"
和"DEU_adm2"
。
我正在尝试将所有“_adm0”数据帧收集到一个列表中,然后可以通过 ldply 和 fortify 对其进行操作。我可以这样做,
mylist <- list(DEU_adm0, FRA_adm0, RUS_adm0, etc...)
我在其中写下我想列入列表的所有国家。
但是,如何"_adm0"
按模式抓取所有数据帧?
我从下面的代码开始,但写出来时并没有给我想要的结果
adm0list <- ls()[str_detect(ls(), "_adm0")]
mylist <- sapply(adm0list, function(x) get(x))
或者,
mylist <- mget(adm0list, .GlobalEnv)
我确实使用该sapply
方法和 using获得了一个对象列表mget()
,但我不明白为什么这些列表list()
与直接使用对象名称不同。我怀疑这个问题的答案会告诉我为什么ldply
+fortify
与该list()
方法一起工作,而不是其他两个。