[英]Access p-value from quantile regression for multiple quantiles in R
我想訪問具有多個分位數的分位數回歸的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值
# 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.