# Generate data
n <- 100
p <- 200
nr <- 10
g <- ceiling(1:p / nr)
X <- matrix(rnorm(n * p), n, p)
b <- c(-3:3)
y_lin <- X[, 1:length(b)] %*% b + 5 * rnorm(n)
y_log <- rbinom(n, 1, exp(y_lin) / (1 + exp(y_lin)))
# Linear regression
lin_fit <- sgp(X, y_lin, g, type = "linear", penalty = "sgl")
plot(lin_fit)
lin_fit <- sgp(X, y_lin, g, type = "linear", penalty = "sgs")
plot(lin_fit)
lin_fit <- sgp(X, y_lin, g, type = "linear", penalty = "sgm")
plot(lin_fit)
lin_fit <- sgp(X, y_lin, g, type = "linear", penalty = "sge")
plot(lin_fit)
# Logistic regression
log_fit <- sgp(X, y_log, g, type = "logit", penalty = "sgl")
plot(log_fit)
log_fit <- sgp(X, y_log, g, type = "logit", penalty = "sgs")
plot(log_fit)
log_fit <- sgp(X, y_log, g, type = "logit", penalty = "sgm")
plot(log_fit)
log_fit <- sgp(X, y_log, g, type = "logit", penalty = "sge")
plot(log_fit)
Run the code above in your browser using DataLab