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