我有一个非常大的矩阵,因此我正在使用glmnet进行回归。 我有一个条件,带p的名称必须具有正系数,而带n的名称必须具有负系数。
我该如何在glmnet中强制执行这个条件? 下面是一个小例子作为说明:
library(glmnet)
y <- cumsum(sample(c(-1, 1),100, TRUE))
p1 <- cumsum(sample(c(-1, 1),100, TRUE))
p2 <- cumsum(sample(c(-1, 1),100, TRUE))
p3 <- cumsum(sample(c(-1, 1),100, TRUE))
n1 <- cumsum(sample(c(-1, 1),100, TRUE))
n2 <- cumsum(sample(c(-1, 1),100, TRUE))
df1 <- data.frame(y,p1,p2,p3,n1,n2)
df1
y <- as.matrix(df1[,1])
x <- as.matrix(df1[,-1])
fit1=glmnet(x,y)
coefall <- coef(fit1,s=0.005)
感谢您的帮助。