这是 tidyr unite()
泛型的方法。
参数
- data
-
一个 DataFrame 。
- col
-
新列的名称,作为字符串或符号。
该参数通过表达式传递并支持quasiquotation(您可以取消引用字符串和符号)。该名称是从带有
rlang::ensym()
的表达式中捕获的(请注意,这种符号不代表实际对象的接口现在在 tidyverse 中不鼓励使用;我们在这里支持它是为了向后兼容)。 - ...
-
<
tidy-select
> 要合并的列 - sep
-
值之间使用的分隔符。
- remove
-
如果
TRUE
,则从输出数据帧中删除输入列。 - na.rm
-
如果是
TRUE
,则在合并每个值之前将删除缺失值。
例子
library(tidyr)
df <- lazy_dt(expand_grid(x = c("a", NA), y = c("b", NA)))
df
#> Source: local data table [4 x 2]
#> Call: `_DT41`
#>
#> x y
#> <chr> <chr>
#> 1 a b
#> 2 a NA
#> 3 NA b
#> 4 NA NA
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
df %>% unite("z", x:y, remove = FALSE)
#> Source: local data table [4 x 3]
#> Call: setcolorder(copy(`_DT41`)[, `:=`(z = paste(x, y, sep = "_"))],
#> c("z", "x", "y"))
#>
#> z x y
#> <chr> <chr> <chr>
#> 1 a_b a b
#> 2 a_NA a NA
#> 3 NA_b NA b
#> 4 NA_NA NA NA
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
# Separate is almost the complement of unite
df %>%
unite("xy", x:y) %>%
separate(xy, c("x", "y"))
#> Source: local data table [4 x 2]
#> Call: copy(`_DT41`)[, `:=`(xy = paste(x, y, sep = "_"))][, `:=`(c("x",
#> "y"), NULL)][, `:=`(c("x", "y"), tstrsplit(xy, split = "[^[:alnum:]]+"))][,
#> `:=`("xy", NULL)]
#>
#> x y
#> <chr> <chr>
#> 1 a b
#> 2 a NA
#> 3 NA b
#> 4 NA NA
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
# (but note `x` and `y` contain now "NA" not NA)
相关用法
- R dtplyr lazy_dt 创建一个“惰性”data.table 以与 dplyr 动词一起使用
- R dtplyr group_modify.dtplyr_step 对每个组应用一个函数
- R dtplyr transmute.dtplyr_step 创建新列,删除旧列
- R dtplyr slice.dtplyr_step 使用行的位置对行进行子集化
- R dtplyr left_join.dtplyr_step 连接数据表
- R dtplyr fill.dtplyr_step 用上一个或下一个值填充缺失值
- R dtplyr filter.dtplyr_step 使用列值对行进行子集化
- R dtplyr mutate.dtplyr_step 创建和修改列
- R dtplyr distinct.dtplyr_step 子集不同/唯一行
- R dtplyr nest.dtplyr_step 巢
- R dtplyr relocate.dtplyr_step 使用变量名称重新定位变量
- R dtplyr head.dtplyr_step 对第一行或最后一行进行子集化
- R dtplyr expand.dtplyr_step 扩展 DataFrame 以包含所有可能的值组合。
- R dtplyr group_by.dtplyr_step 分组和取消分组
- R dtplyr intersect.dtplyr_step 设置操作
- R dtplyr pivot_wider.dtplyr_step 将数据从长轴转向宽轴
- R dtplyr summarise.dtplyr_step 将每组汇总为一行
- R dtplyr count.dtplyr_step 按组计数观察值
- R dtplyr select.dtplyr_step 使用名称对列进行子集化
- R dtplyr drop_na.dtplyr_step 删除包含缺失值的行
- R dtplyr complete.dtplyr_step 完成缺少数据组合的 DataFrame
- R dtplyr collect.dtplyr_step 强制计算惰性 data.table
- R dtplyr arrange.dtplyr_step 按列值排列行
- R dtplyr separate.dtplyr_step 使用正则表达式或数字位置将字符列分成多列
- R dtplyr rename.dtplyr_step 使用名称重命名列
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Unite multiple columns into one by pasting strings together.。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。