【发布时间】:2018-12-13 14:34:58
【问题描述】:
我发现(见下文)quantreg 包中的函数 summary.rq(第 88 页)根据样本大小是大于还是小于 1001 打印不同的输出。
我知道,rq() 使用不同的方法,具体取决于样本量是大于等于还是小于 1001。我认为这是导致这种行为的原因。
显示所描述行为的 MWE:
> library(quantreg)
> x <- seq(0, 100, length.out = 1000)
> e <- rnorm(1000, mean = 0, sd = 1.2)
> y <- 6 + 0.1 * x + e
> summary(rq(y ~ x, tau = 0.025))
Call: rq(formula = y ~ x, tau = 0.025)
tau: [1] 0.025
Coefficients:
coefficients lower bd upper bd
(Intercept) 3.67733 2.92776 3.88165
x 0.10061 0.09578 0.10675
Warning message:
In rq.fit.br(x, y, tau = tau, ci = TRUE, ...) : Solution may be
nonunique
> x <- seq(0, 100, length.out = 1001)
> e <- rnorm(1001, mean = 0, sd = 1.2)
> y <- 6 + 0.1 * x + e
> summary(rq(y ~ x, tau = 0.025))
Call: rq(formula = y ~ x, tau = 0.025)
tau: [1] 0.025
Coefficients:
Value Std. Error t value Pr(>|t|)
(Intercept) 3.61744 0.28052 12.89559 0.00000
x 0.10033 0.00477 21.04017 0.00000
这是期望的行为吗?对于大于 1000 的样本,如何获得第一种形式的输出?
我的问题是,我在多个样本大小的循环中使用了 summary.rq 函数,并且想使用上下波段值。
【问题讨论】:
-
欢迎来到简历。问题不在于统计数据或其方法;而是关于使用某个软件包。请考虑将其重新发布到其他/更合适的地方。
-
将在 90 分钟后在 stackoverflow 上重新发布,感谢您的提示
-
首先我建议您设置.seed() 以便您的变量是相同的。其次,可以在 rq 中指定方法。对于
-
@JustGettinStarted 感谢您的提示,尤其是 set.seed()!但我的问题不在于数字。我的问题是输出格式不同。
-
您的意思是“警告消息:在 rq.fit.br(x, y, tau = tau, ci = TRUE, ...) 中:解决方案可能是非唯一的”部分?如果是这样,您可以关闭警告stackoverflow.com/questions/16194212/…。但要小心,最好将输出保存到列表中,然后在循环完成后打印结果。然后不会显示警告
标签: r quantile-regression