當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。