如何在R中的列表中获取同一类的所有对象

时间:2016-02-04 10:46:42

标签: r list lm

我在多个数据帧上实现了线性回归。 现在我想创建一个列表,其中包含我的所有类lm的对象,以便稍后将它们用于其他分析。

我的lm个对象根据名称按组区分:

names(sortierfe)
[1] "bio1_lm"   "bio2_lm" "bio3_lm"   "chem1_lm" "chem2_lm" "chem3_lm" "pest1_lm"
[8] "pest2_lm" "pest3_lm"

我希望根据这个组的名称获得3个不同的列表:

bio.lm <- list(bio1_lm = bio1_lm, bio2_lm = bio2, bio3_lm = bio3=lm)
chem.lm <- list(chem1_lm = chem1_lm, chem2_lm = chem2_lm, chem3_lm = chem3_lm)
pest.lm <- list(pest1_lm = pest1_lm,pest2_lm = pest2_lm, pest3_lm = pest3_lm)     

由于我有60个lm个对象,这是一个很难手动完成的工作,有没有人知道如何优化它?

1 个答案:

答案 0 :(得分:1)

如果我们需要拆分,我们可以使用sub创建分组索引。在list输出中,我们可以使用mget

获取值
lst <- split(sortierfe, sub('\\d+\\_.*', '', sortierfe))
lapply(lst, mget)