我有一个数据框
| 河流|放电|
| - ------|- ------|
| 河流1|五百|
| 河流1|四百五十|
| 河流1|二百|
| 河流1|二百五十|
| 河流2|三百七十五|
| 河流2|二百三十五|
| 河流2|一百三十|
| 河流2|二百五十|
我想把下面列出的函数应用于列放电。
f <- list(
mean = function(x, ...) mean(x),
Q50 = function(x, ...) lfquantile(x, exc.freq = 0.5),
Q95 = function(x, ...) lfquantile(x, exc.freq = 0.95),
Q90 = function(x, ...) lfquantile(x, exc.freq = 0.9),
Q70 = function(x, ...) lfquantile(x, exc.freq = 0.7),
)
最后我应该有这样一张table
| 河流|均值|第五十题|九五|九零|七〇|
| - ------|- ------|- ------|- ------|- ------|- ------|
| 河流1||||||
| 河流2||||||
| 里弗恩||||||
我不知道该怎么做
4条答案
按热度按时间6g8kf2rb1#
如果我们有所有可用的函数,那么使用
5t7ly7z52#
您可以使用group_by()函数并应用统计信息列表来计算汇总,而无需编写函数:
库(dplyr)
输出为:
niknxzdl3#
一种基于R**的方法。在本例中,将
lfquantile
替换为quantile
。数据
disbfnqx4#
创建于2023年2月8日,使用reprex v2.0.2
编辑
由于
quantile
函数是矢量化的,因此您可以执行以下操作:创建于2023年2月8日,使用reprex v2.0.2