[英]Conduct quantile regression with several dependent variables in R
我有兴趣在 R 中进行多元回归,查看分组变量(2 个级别)对几个因变量的影响。 但是,由于我的数据是非正态的并且两组没有同质方差,我希望使用分位数回归。 我正在使用 quantreg 工具箱中的 rq function 来执行此操作。
我的代码如下
# Generate some fake data
DV = matrix(rnorm(40*5),ncol=5) #construct matrix for dependent variables
IV = matrix(rep(1:2,20)) #matrix for grouping factor
library(quantreg)
model.q = rq(DV~IV,
tau = 0.5)
运行时我收到以下错误消息:
Error in y - x %*% z$coef : non-conformable arrays
In addition: Warning message:
In rq.fit.br(x, y, tau = tau, ...) : Solution may be nonunique
我相信这是因为我有几个 DV,因为当我尝试使用一列 DV 时,model 工作正常。 有没有一种特定的方式我应该格式化我的数据? 或者也许还有另一个 function 我可以使用?
谢谢!
如果您只想运行多个回归,每个回归具有相同的自变量集,但具有不同的因变量,您可以编写 function,然后将其应用于DV
矩阵的所有列并将模型保存在列表中:
reg <- function(col_number) {
model.q <- rq(DV[, col_number] ~ IV, tau = 0.5)
}
model_list <- lapply(1:ncol(DV), reg)
但是,正如评论中指出的那样,您可能想要一个多元 model 来说明结果的相关性 - 但我认为rq
方法不合适
如果您有多个响应,您最可能需要的是:
DV = matrix(rnorm(40*5),ncol=5) #construct matrix for dependent variables
IV = matrix(rep(1:2,20)) #matrix for grouping factor
library(quantreg)
rqs.fit(x=IV, y=DV, tau=0.5, tol = 0.0001)
不幸的是,关于它如何工作的文档真的不多。如果我找到它,我可以更新
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.