r - 如何在 R 中使用汇总功能制作函数?
问题描述
我不知道这是否是正确的问题,但是,我正在尝试从汇总函数中的另一个函数中创建一个函数:
library(tidyverse)
# one can use the summarize function to make several statistics
mtcars %>%
group_by(cyl) %>%
summarise(var = mean(mpg, na.rm = TRUE))
mtcars %>%
group_by(cyl) %>%
summarise(var = max(mpg, na.rm = TRUE))
mtcars %>%
group_by(cyl) %>%
summarise(var = min(mpg, na.rm = TRUE))
问题:我怎样才能创建一个函数(如下面的例子)来功能化上面的例子?
summarize_function <- function(statistic) {
mtcars %>%
group_by(cyl) %>%
summarise(var = statistic(mpg, na.rm = TRUE))
}
解决方案
您可以将函数名称,例如,mean
或max
,传递给summarize_function
> summarize_function(mean)
# A tibble: 3 x 2
cyl var
<dbl> <dbl>
1 4 26.7
2 6 19.7
3 8 15.1
> summarize_function(max)
# A tibble: 3 x 2
cyl var
<dbl> <dbl>
1 4 33.9
2 6 21.4
3 8 19.2
推荐阅读
- python - 在 Django 中实现 recaptcha
- ruby-on-rails-6 - 在 Rails 管理中使用自定义 JQuery [rails 6]
- reactjs - 在嵌套堆栈导航器中更改 React Native 标题栏背景颜色
- spring-boot - Spring 属性值 NULL
- python - ValueError:不能对非数字数据使用中值策略
- r - 让数据表在 flexdashboards 中使用 highcharter
- electron - Electron:更快的“加载屏幕”窗口
- javascript - AJAX POST 函数在通过控制器中的 POST 方法之前返回错误
- microsoft-graph-api - 扩展事件增量查询的单值扩展属性?
- python - Windows 10 和 Linux Ubuntu 16.04 在运行时间上的巨大差异,用于 ExtraTreesClassifier 训练和预测 (Python)