我已將一系列SpatialPolygonsDataFrame加載到我的工作區中。每個命名對象都有附加到國家/地區的"_adm0"
,"_adm1"
或"_adm2"
。對於德國,這看起來像"DEU_adm0"
,"DEU_adm1"
和"DEU_adm2"
。將R組對象放入列表
我想收集所有的「_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()
方法,但不是其他兩個。
'ls'有圖案的說法。 – joran
謝謝Joran,起初我並不完全瞭解你,但是像Simon在下面的回答,解決了它。 –
啊,好吧,得到參與SO的掛起。 –