我有一个矩阵,其中p >> n,所以我用
X=mvtnorm::rmvnorm(300,mean=rep(0,400))
Y=X[,3]+X[,5]+X[,7]+X[,9]
fit1 = quantreg::rq.fit.lasso(y=Y,x=X,tau=0.5)
我如何基于此做出预测?如果我使用标准预测,则会得到:
Error in UseMethod("predict") :
no applicable method for 'predict' applied to an object of class "list"
看着?quantreg::rq.fit.lasso
,我发现以下语句:
值
返回带有系数,残差,tau和lambda的列表组件。从“ rq” (按预期)调用时,返回对象具有类“ lassorqs”。
强调是我的。尝试使用
library(mvtnorm)
library(quantreg)
set.seed(42)
X = mvtnorm::rmvnorm(300,mean=rep(0,400))
Y = X[,3]+X[,5]+X[,7]+X[,9]
df <- data.frame(Y, X)
cj = quantreg::rq(Y ~ ., tau=0.5, data = df, method = "lasso")
preds <- predict(cj, df)
head(preds)
1 2 3 4 5 6
4.2973424 0.9515407 -0.2925830 -0.7729388 3.0123608 -3.9507194