R中的删失分位数回归:获得特定分位数
我在R中生成了以下数据:R中的删失分位数回归:获得特定分位数,r,regression,quantile,quantreg,R,Regression,Quantile,Quantreg,我在R中生成了以下数据: library(quantreg) library(survival) set.seed(789) N <- 2000 u <- runif(N) x1 <- rbinom(N,1,.5) x2 <- rbinom(N,1,.5) x1x2<-x1*x2 lambda <- 1 + 1.5*x1 + 1.5*x2 + .5*x1x2 k <- 2 y <- lambda*((-log(1-u))^(1/k));max(y
library(quantreg)
library(survival)
set.seed(789)
N <- 2000
u <- runif(N)
x1 <- rbinom(N,1,.5)
x2 <- rbinom(N,1,.5)
x1x2<-x1*x2
lambda <- 1 + 1.5*x1 + 1.5*x2 + .5*x1x2
k <- 2
y <- lambda*((-log(1-u))^(1/k));max(y)
c <- runif(N,max=15)
event = as.numeric(y<=c)
mean(event);table(event)
cens <- 1-event
table(cens)mean(cens)
time <-as.matrix(ifelse(event==1,y,c))
St<-Surv(time,event,type="right")
库(量子力学)
图书馆(生存)
种子(789)
N分位数示例:
quantile(dataframe$columnname, na.rm=TRUE)
在这种情况下,您希望
分位数(数据帧$columnname,probs=(0.009,0.2,0.8))
0.009给出0.9分位数 进入
?summary.crq
结果
## S3 method for class 'crq'
summary(object, taus = 1:4/5, alpha = .05, se="boot", covariance=TRUE, ...)
所以你应该可以指定tau
summary(q2, tau = 1:9/10)
tau: [1] 0.9
Coefficients:
Value Lower Bd Upper Bd Std Error T Value Pr(>|t|)
(Intercept) 1.55424 1.44255 1.66594 0.05699 27.27311 0.00000
x1 2.23893 2.03412 2.44375 0.10450 21.42528 0.00000
x2 2.15514 1.97319 2.33710 0.09284 23.21441 0.00000
x1x2 0.74453 0.35153 1.13753 0.20051 3.71309 0.00020
为tau指定单个值会导致错误 谢谢你的评论。我已经编辑了我的帖子。我对第90百分位(或.9分位)感兴趣。我的问题是,即使我请求crq中的第90个百分位数(即“tau=0.9”),汇总函数仍会返回相同的(不需要的)百分位数集(第20、40、60、80)。从crq帮助页面:“Portnoy和Peng Huang估值器可能都无法计算分布上尾的条件分位数参数估计值。”感谢@BondedDust,但这不是问题,原因有两个:(1)这个问题只在分布尾部的删失严重时出现,我的删失相对较小;以及(2) 如果我选择“tau=0.5”或修改模拟以避免所有审查,我仍然会遇到相同的问题。
summary(q2, tau = 1:9/10)
tau: [1] 0.9
Coefficients:
Value Lower Bd Upper Bd Std Error T Value Pr(>|t|)
(Intercept) 1.55424 1.44255 1.66594 0.05699 27.27311 0.00000
x1 2.23893 2.03412 2.44375 0.10450 21.42528 0.00000
x2 2.15514 1.97319 2.33710 0.09284 23.21441 0.00000
x1x2 0.74453 0.35153 1.13753 0.20051 3.71309 0.00020