r-ldply从系数(模型)中提取标准偏差

  • 本文关键字:提取 标准 模型 r-ldply r lm
  • 更新时间 :
  • 英文 :


我使用此函数调整lm模型101次:

models <- dlply(mee_chua_sort, "mu", function(df) 
lm(nachher~vorher, data = df))

现在,我不仅想从模型中提取估计值——我使用

mod_coef<-ldply(models, coef)

我想能够提取标准偏差,p值等等。如果我尝试使用类似的东西

mod_coef1<-ldply(models, coef(summary(models))[,'Std.Error'])

我得到错误:错误:$operator对于原子向量无效

有人能帮我吗?我想像使用mod_coef 一样,将其他值保存在df中

感谢

问题在于ldply(models,cove(summary(models((,在ldply内部,您正在遍历模型,函数需要处理列表中的每个元素。你需要写一个函数,先做摘要,然后是coeff,见

library(dlply)
linmod <- function(df) {
lm(rbi ~ year, data = mutate(df, year = year - min(year)))
}
models <- dlply(baseball, .(id), linmod)
mod_coef<-ldply(models, coef)
results <- ldply(models,function(i)coef(summary(i)))

> head(results)
id      Estimate  Std. Error     t value     Pr(>|t|)
1 aaronha01 118.923913043  9.44994928 12.58460860 3.013683e-11
2 aaronha01  -1.732213439  0.73567755 -2.35458242 2.835224e-02
3 abernte02   0.554009613  0.44022430  1.25847122 2.274573e-01
4 abernte02  -0.002403238  0.03829954 -0.06274848 9.507953e-01
5 adairje01  18.831034483 11.77420551  1.59934651 1.337547e-01
6 adairje01   0.879310345  1.61731151  0.54368645 5.958584e-01
# to get standard error
> head(results[,"Std. Error"])
[1]  9.44994928  0.73567755  0.44022430  0.03829954 11.77420551  1.61731151

最新更新