使用膏()作为对象的输出,内为R中循环(using the output of paste() as

2019-09-20 11:04发布

我想要构造结果48个GLMS(包括模型系数,R2等)的矩阵。 我虽然在使用调用模型对象for循环使用,其反复调用它们paste()mget()函数,它创建具有相同的名称,该模型对象的变量。 想象一下,这些都是模型对象:

var1_ds1_1<-glm(var1~var_ds1)
var1_ds2_1<-glm(var1~var_ds2)
var1_ds3_1<-glm(var1~var_ds3)

当我创建一个名称中使用,以调用对象出现我的问题paste()mget()来自动创建一个对象的名称相同的模型对象的名称(在这个简单的例子mget(paste ("var1",table.row))应导致var1_ds1_1 ,但我不能提取模型系数或任何其它参数。

for (tab.row in 1:48) {
     result.matrix[tab.row,]<-mget(paste ("var1_ds",table.row,"_1"))$coef[1] # An example to extract the linear coefficient
}

我的问题是:我怎么能自动生成模型对象的名称到它们的参数存储到一个新的结果矩阵?

新的矩阵应该是:

Row Variable Dataset Slope P-Value R2
 1  Var 1    1       1.3   0.001   50%
 2  Var 1    2       0.8   0.004   32%   
 .    .      .        .      .      .
48  Var n    n        .      .      .

提前致谢。

文章来源: using the output of paste() as an object, within a for loop in R