# to.ncpen.x.mat: Convert a 'data.frame' to a 'ncpen' usable 'matrix'. In ncpen: Unified Algorithm for Non-convex Penalized Estimation for Generalized Linear Models

## Description

This automates the processes of `to.indicators` and `interact.data`. First, it converts categorical variables to a series of indicators. All other numerical and logical variables are preserved. Then, if `interact.all == TRUE`, all the variables are interacted.

## Usage

 ```1 2``` ```to.ncpen.x.mat(df, base = NULL, interact.all = FALSE, base.cols = NULL, exclude.pair = NULL) ```

## Arguments

 `df` a `data.frame` which includes numerical, logical and categorical columns. `base` a base category removed from the indicator variables. This `base` will work as the base case for all the categorical variables. `interact.all` indicates whether to interact all the columns (`TRUE`) or not (`FALSE`). `base.cols` indicates columns derived from a same column. For example, if `age_sq` is `age^2`, then `"age"` is a base column. Categorical columns will be automatically considered as base columns. `exclude.pair` the pairs will be excluded from interactions. This should be a `list` object of pairs. For example, `list(c("a1", "a2"), c("d1", "d2"))`.

## Value

This returns an object of `matrix`.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13``` ```df = data.frame(num = c(1, 2, 3, 4, 5), ctr = c("K", "O", "R", "R", "K"), logi = c(TRUE, TRUE, FALSE, FALSE, TRUE), age = c(10, 20, 30, 40, 50), age_sq = c(10, 20, 30, 40, 50)^2, loc = c("b", "a", "c", "a", "b"), FTHB = c(1,0,1,0,1), PRM = c(0,1,0,1,0), PMI = c(1,1,0,0,0)); to.ncpen.x.mat(df, interact.all = TRUE, base.cols = c("age"), exclude.pair = list(c("FTHB", "PRM"))); ```

ncpen documentation built on May 1, 2019, 9:21 p.m.