当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R dplyr c_across 合并多列的值


c_across() 旨在与 rowwise() 配合使用,以便轻松执行按行聚合。它与 c() 有两个区别:

  • 它使用整洁的选择语义,因此您可以轻松选择多个变量。有关更多详细信息,请参阅vignette("rowwise")

  • 它使用 vctrs::vec_c() 来提供更安全的输出。

用法

c_across(cols)

参数

cols

< tidy-select > 要转换的列。您无法选择分组列,因为它们已由动词自动处理(即 summarise()mutate() )。

也可以看看

across() 用于返回 tibble 的函数。

例子

df <- tibble(id = 1:4, w = runif(4), x = runif(4), y = runif(4), z = runif(4))
df %>%
  rowwise() %>%
  mutate(
    sum = sum(c_across(w:z)),
    sd = sd(c_across(w:z))
  )
#> # A tibble: 4 × 7
#> # Rowwise: 
#>      id     w     x     y      z   sum    sd
#>   <int> <dbl> <dbl> <dbl>  <dbl> <dbl> <dbl>
#> 1     1 0.599 0.345 0.970 0.0677  1.98 0.384
#> 2     2 0.766 0.455 0.756 0.134   2.11 0.300
#> 3     3 0.428 0.483 0.937 0.149   2.00 0.326
#> 4     4 0.850 0.283 0.705 0.593   2.43 0.241
源代码:R/across.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Combine values from multiple columns。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。