отключить имя функции через || dplyr || подвести итог - PullRequest
1 голос
/ 13 июля 2020
iris %>%  group_by(Species) %>% summarise(across( .cols = is.numeric, .fns = list(Sum = sum), na.rm = TRUE))

Я группирую строки по видам, и они добавляют свои значения в столбец, которые являются числами c.

Результат выглядит так:

summarise() ungrouping output (override with .groups argument) Species Sepal.Length_Sum Sepal.Width_Sum Petal.Length_Sum Petal.Width_Sum <fct> <dbl> <dbl> <dbl> <dbl> setosa 250. 171. 73.1 12.3 versicolor 297. 138. 213 66.3 virginica 329. 149. 278. 101.

Я бы хотел удалить _Sum , добавляемый после применения функции.

R 4.0.0 dplyr 1.0.0

1 Ответ

2 голосов
/ 13 июля 2020

Нам не нужен именованный list в этом случае

library(dplyr)
iris %>% 
    group_by(Species) %>% 
    summarise(across( .cols = is.numeric, .fns = sum, na.rm = TRUE))

Или, если мы все еще хотим использовать именованный list, тогда укажите .names, который даст больше контроля при добавлении префикса или суффикса, а также для удаления всего лишнего, указав только {col}

iris %>%  
    group_by(Species) %>%
    summarise(across( .cols = is.numeric, .fns = list(Sum = sum), 
            .names = "{col}",na.rm = TRUE))
# A tibble: 3 x 5
#  Species    Sepal.Length Sepal.Width Petal.Length Petal.Width
#  <fct>             <dbl>       <dbl>        <dbl>       <dbl>
#1 setosa             250.        171.         73.1        12.3
#2 versicolor         297.        138.        213          66.3
#3 virginica          329.        149.        278.        101. 
...