2016-11-27 5 views
1

複数の分位数を持つ分位回帰のp値にアクセスしたいとします。複数の分位数の分位回帰からp値にアクセスする

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

str(fit2_summ)は要約モデルが2分位ではなくのために存在しているので、私はfit2_summ$coefficients[,4]を使用して第50回と第95分位のp値にアクセスすることはできませんよ、次の結果

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 ... 

を与えますこの場合、上記のコマンドが機能していたはずです。

答えて

2

あなたがSEを計算する方法specifiyする必要があります

# 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 
関連する問題