A list specifying the group information, with elements
being sets of indicies of covariates in a same group. For example,
list(c(1, 2, 3), c(4, 5)) specifies that covariates 1, 2, 3 are in a
group and covariates 4, 5 are in another group.
Defaults to NULL. If NULL, then it will be set as list(1, 2, ..., p),
that is, treat each single covariate as a group.
If X has colnames, then the colnames can be used to specified the
group_info. For example, list(c("a", "b"), c("c", "d")).
The names of the list can help recoginize the group. For example,
list(grp_ab = c("a", "b"), grp_cd = c("c", "d")). If names of the list
are not specified, c("Grp 1", "Grp 2", ..., "Grp J") will be applied.
An integer specifying at least how many (single) features should
be kept after screening. For example, if group_info = list(c(1, 2), c(3, 4)) and d = 3, then all features 1, 2, 3, 4 must be selected since it
should guarantee at least 3 features are kept.
Defaults to NULL. If NULL, then it will be set as \([n / log(n)]\),
where \([x]\) denotes the integer part of x.