我正在遵循R for Data Science 书中的Many Models示例来生成单独的多元线性回归模型。如下面可重现的示例所示,我的数据框由三列组成:id, val1, val2, val3,. 我能够使用mapHadley 书中详述的函数拟合线性模型。但是,我一直在努力从每个模型中提取系数并将这些值逐列添加回my.list. 当前存储模型系数的方式使得调用我的代码的其他部分变得困难/麻烦。
我想出了迄今为止最好的是做一个列表的长度my.list在遍历每个数据帧和提取系数my.list:Name1, Name2, Name3。这意味着现在我的全局环境中有另一个列表,并且coef.list不再包含Name1, Name2, Name3来自my.list; 这些现在已被替换为[[1]], [[2]], [[3]].
任何人都可以在使用多个模型时提出一种提取模型系数的“更干净”的方法吗?我的首选输出只是为每个系数创建一列:intercept, val1, val2. 这些列将放入现有的数据框中Name1, Name2, Name3,my.list以便我可以mutate直接在数据框中使用:
# reproducible example
set.seed(1363)
d1 <- data.frame(id=c("Name1", "Name2", "Name3"),
val1=c(rnorm(n=15, mean=5)),
val2=c(rnorm(n=15, mean=3)),
val3=c(rnorm(n=15, mean=8)))
# linear model function
lm.fun <- function(df){
lm(val3 ~ …Run Code Online (Sandbox Code Playgroud)