我想为 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 . . .
提前致谢。