【问题标题】:summarizing across multiple variables and assign to new variable names汇总多个变量并分配给新变量名
【发布时间】:2021-05-31 10:12:50
【问题描述】:

我正在使用'across'函数来获取一系列变量的汇总统计信息(例如,所有以'f_'开头的变量。由于cross函数会将汇总结果存储回原始变量名称,具有多个具有不同汇总函数的跨函数将覆盖结果(如下所示)。 我可以通过在 summarise() 之后重命名变量并 cbind 生成的单个表来考虑解决方法。但是,这似乎很麻烦,我想知道是否有一种整洁(双关语)的方式来将一系列汇总结果存储到新的变量名称中。

var_stats = data %>% 
  summarise(
    across(starts_with('f_'), max, na.rm = T),
    across(starts_with('f_'), min, na.rm = T)
  )

【问题讨论】:

标签: r dplyr


【解决方案1】:

您可以同时使用多个汇总函数并控制变量的名称。下面的例子对你有帮助吗?

mtcars %>% 
  summarise(across(starts_with("c"), list(custom_min = min, custom_max = max), .names = "{.col}_{.fn}"))

  cyl_custom_min cyl_custom_max carb_custom_min carb_custom_max
1              4              8               1               8

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-27
    • 2023-01-12
    • 2022-01-23
    • 2017-09-23
    • 1970-01-01
    • 2016-04-08
    • 2018-10-22
    • 1970-01-01
    相关资源
    最近更新 更多