1

我想从使用分组变量进行的一系列分位数回归中提取 p 值和系数。我主要dplyr用来操作数据框,所以一个想要的dplyr解决方案。

require(quantreg)
data("engel")
require(dplyr)
engel$grp <- trunc(runif(nrow(engel), min=0, max=3))

group_by(engel,grp) %>% do(summary(rq(foodexp~income,data=.,tau=c(.05, .25, .5, .75, .95)),se="boot"))

这会导致错误

错误:结果不是以下位置的数据帧:1、2、3

我尝试了另一个版本,首先是模型,然后是摘要

rqm <- group_by(engel,grp) %>% do(mdl=rq(foodexp~income,data=.,tau=c(.05, .25, .5, .75, .95)))
summarise(rqm, coef(summary(mdl,se="boot")))

这也会导致错误

错误:不是向量

4

1 回答 1

2

这是一团糟,但它的工作原理:

library(dplyr)
group_by(engel,grp) %>% 
      do(as.data.frame(do.call(rbind,
          lapply(summary(rq(foodexp~income,data=.,tau=c(.05, .25, .5, .75, .95)), se="boot"), coef)
            ), row.names = NULL))

然后,您需要使用 tau 值以及它是 coef 还是 p 值来标记行。我会把它留给你。

于 2015-08-26T18:29:51.550 回答