r - 从 R 中多个分位数的分位数回归访问 p 值

标签 r quantreg

我想访问具有多个分位数的分位数回归的 p 值。

fit2 <- rq(speed ~ vsby_avg + snwd_avg, tau=c(.05, 0.95), data = test_data)
fit2_summ <- summary(fit2)

str(fit2_summ) 给出以下结果

List of 2
 $ :List of 6
  ..$ call        : language rq(formula = speed ~ vsby_avg + snwd_avg, tau = c(0.05, 0.95), data = test_data)
  ..$ terms       :Classes 'terms', 'formula'  language speed ~ vsby_avg + snwd_avg
  .. .. ..- attr(*, "variables")= language list(speed, vsby_avg, snwd_avg)

  ..$ coefficients: num [1:3, 1:4] 57.63195 0.13474 -0.00337 0.1919 0.01212 ...

我无法使用 fit2_summ$coefficients[,4] 访问第 50 个和第 95 个分位数的 p 值,因为汇总模型针对 2 个分位数而不是单个分位数存在,在这种情况下,上述命令会起作用。

最佳答案

您应该指定计算 se 的方法:

# using mtcars
library(quantreg)
fit <- rq(mpg ~ cyl + disp, tau = c(0.05, 0.95), data = mtcars)

fit.smy <- summary(fit, se = 'boot')
# > fit.smy
#
# Call: rq(formula = mpg ~ cyl + disp, tau = c(0.05, 0.95), data = mtcars)
#
# tau: [1] 0.05
#
# Coefficients:
#             Value    Std. Error t value  Pr(>|t|)
# (Intercept) 29.02978  1.85711   15.63170  0.00000
# cyl         -1.43979  0.55214   -2.60766  0.01426
# disp        -0.01546  0.00773   -1.99955  0.05499
#
# Call: rq(formula = mpg ~ cyl + disp, tau = c(0.05, 0.95), data = mtcars)
#
# tau: [1] 0.95
#
# Coefficients:
#             Value    Std. Error t value  Pr(>|t|)
# (Intercept) 51.82250  6.18594    8.37747  0.00000
# cyl         -4.70281  1.84648   -2.54691  0.01644
# disp         0.01250  0.02616    0.47785  0.63634

访问 P.values

# fit.smy is a list, its length is the same as tau;
lapply(fit.smy, function(x){
    x$coefficients[,4]
})
# [[1]]
#  (Intercept)          cyl         disp 
# 3.996803e-14 2.205166e-02 5.699536e-02 
# 
# [[2]]
#  (Intercept)          cyl         disp 
# 3.263261e-08 4.381427e-02 6.903882e-01

关于r - 从 R 中多个分位数的分位数回归访问 p 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40826399/

相关文章:

R 包 quantreg : Extract p-values

r - 在R中使用texreg进行分位数回归时如何设置se=boot?

r - 用分段包R计算分段分位数线性回归

mysql - 如何从mysql到 Shiny 的表中读取数据

r - 数据框中列的有效乘法

r - 错误 : widget$status_code == 200 is not TRUE

r - 如何在 ggplot2 中删除点和扩展箱线图

r - 如何强制多个 r 图具有相同长度的 x 刻度?