Given either regular expression, separate() turns a single character column into two columns. Analogous to tidyr::separate, but only split into two columns only.

separate(.data, separated_colname, into, sep = "[^[:alnum:]]+", remove = TRUE)

Arguments

.data

A data frame.

separated_colname

Column name, string only.

into

Character vector of length 2.

sep

Separator between columns.

remove

If TRUE, remove input column from output data frame.

Value

A data.table

See also

Examples

df <- data.table(x = c(NA, "a.b", "a.d", "b.c")) df %>% separate(x, c("A", "B"))
#> A B #> <char> <char> #> 1: <NA> <NA> #> 2: a b #> 3: a d #> 4: b c
# equals to df <- data.table(x = c(NA, "a.b", "a.d", "b.c")) df %>% separate("x", c("A", "B"))
#> A B #> <char> <char> #> 1: <NA> <NA> #> 2: a b #> 3: a d #> 4: b c