将R对象分组到列表中

时间:2013-10-14 16:00:11

标签: r

我已将一系列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方法获取了一个对象列表,并使用mget(),但我不明白为什么这些列表与使用list()直接使用对象名称不同。我怀疑这个问题的答案会告诉我为什么ldply + fortify适用于list()方法,而不是其他两种方法。

1 个答案:

答案 0 :(得分:5)

您可以使用pattern的{​​{1}}参数,然后将ls提取器用于@个对象的data.frame部分...

SPDF