Convenience function to paste together multiple columns into one.
unite_dt(
.data,
united_colname,
...,
sep = "_",
remove = FALSE,
na2char = FALSE
)
A data frame.
The name of the new column, string only.
A selection of columns. If want to select all columns, pass "" to the parameter. See example.
Separator to use between values.
If TRUE
, remove input columns from output data frame.
If FALSE
, missing values would be merged into NA
,
otherwise NA
is treated as character "NA". This is different from
tidyr.
df <- expand.grid(x = c("a", NA), y = c("b", NA))
df
#> x y
#> 1 a b
#> 2 <NA> b
#> 3 a <NA>
#> 4 <NA> <NA>
# Treat missing value as NA, default
df %>% unite_dt("z", x:y, remove = FALSE)
#> x y z
#> <fctr> <fctr> <char>
#> 1: a b a_b
#> 2: <NA> b <NA>
#> 3: a <NA> <NA>
#> 4: <NA> <NA> <NA>
# Treat missing value as character "NA"
df %>% unite_dt("z", x:y, na2char = TRUE, remove = FALSE)
#> x y z
#> <fctr> <fctr> <char>
#> 1: a b a_b
#> 2: <NA> b NA_b
#> 3: a <NA> a_NA
#> 4: <NA> <NA> NA_NA
df %>%
unite_dt("xy", x:y)
#> x y xy
#> <fctr> <fctr> <char>
#> 1: a b a_b
#> 2: <NA> b <NA>
#> 3: a <NA> <NA>
#> 4: <NA> <NA> <NA>
# Select all columns
iris %>% unite_dt("merged_name",".")
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> <num> <num> <num> <num> <fctr>
#> 1: 5.1 3.5 1.4 0.2 setosa
#> 2: 4.9 3.0 1.4 0.2 setosa
#> 3: 4.7 3.2 1.3 0.2 setosa
#> 4: 4.6 3.1 1.5 0.2 setosa
#> 5: 5.0 3.6 1.4 0.2 setosa
#> ---
#> 146: 6.7 3.0 5.2 2.3 virginica
#> 147: 6.3 2.5 5.0 1.9 virginica
#> 148: 6.5 3.0 5.2 2.0 virginica
#> 149: 6.2 3.4 5.4 2.3 virginica
#> 150: 5.9 3.0 5.1 1.8 virginica
#> merged_name
#> <char>
#> 1: 5.1_3.5_1.4_0.2_setosa
#> 2: 4.9_3_1.4_0.2_setosa
#> 3: 4.7_3.2_1.3_0.2_setosa
#> 4: 4.6_3.1_1.5_0.2_setosa
#> 5: 5_3.6_1.4_0.2_setosa
#> ---
#> 146: 6.7_3_5.2_2.3_virginica
#> 147: 6.3_2.5_5_1.9_virginica
#> 148: 6.5_3_5.2_2_virginica
#> 149: 6.2_3.4_5.4_2.3_virginica
#> 150: 5.9_3_5.1_1.8_virginica