我使用此函数调整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