1

我想为 48 个 GLM(包括模型系数、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        .      .      .

提前致谢。

4

0 回答 0