此函数可以控制 R 中没有特定排序参数的窗口函数的排序。当转换为 SQL 时,它将修改 OVER 函数的 order 子句。
细节
此函数的工作原理是更改 call
以使用适当的参数调用 with_order()
。
例子
order_by(10:1, cumsum(1:10))
#> [1] 55 54 52 49 45 40 34 27 19 10
x <- 10:1
y <- 1:10
order_by(x, cumsum(y))
#> [1] 55 54 52 49 45 40 34 27 19 10
df <- data.frame(year = 2000:2005, value = (0:5) ^ 2)
scrambled <- df[sample(nrow(df)), ]
wrong <- mutate(scrambled, running = cumsum(value))
arrange(wrong, year)
#> year value running
#> 1 2000 0 0
#> 2 2001 1 39
#> 3 2002 4 4
#> 4 2003 9 38
#> 5 2004 16 55
#> 6 2005 25 29
right <- mutate(scrambled, running = order_by(year, cumsum(value)))
arrange(right, year)
#> year value running
#> 1 2000 0 0
#> 2 2001 1 1
#> 3 2002 4 5
#> 4 2003 9 14
#> 5 2004 16 30
#> 6 2005 25 55
相关用法
- R dplyr group_trim 修剪分组结构
- R dplyr slice 使用行的位置对行进行子集化
- R dplyr copy_to 将本地数据帧复制到远程src
- R dplyr sample_n 从表中采样 n 行
- R dplyr consecutive_id 为连续组合生成唯一标识符
- R dplyr row_number 整数排名函数
- R dplyr band_members 乐队成员
- R dplyr mutate-joins 变异连接
- R dplyr nth 从向量中提取第一个、最后一个或第 n 个值
- R dplyr coalesce 找到第一个非缺失元素
- R dplyr group_split 按组分割 DataFrame
- R dplyr mutate 创建、修改和删除列
- R dplyr context 有关“当前”组或变量的信息
- R dplyr percent_rank 比例排名函数
- R dplyr recode 重新编码值
- R dplyr starwars 星球大战人物
- R dplyr desc 降序
- R dplyr between 检测值落在指定范围内的位置
- R dplyr cumall 任何、全部和平均值的累积版本
- R dplyr group_map 对每个组应用一个函数
- R dplyr do 做任何事情
- R dplyr nest_join 嵌套连接
- R dplyr pull 提取单列
- R dplyr group_by_all 按选择的变量进行分组
- R dplyr bind_cols 按列绑定多个 DataFrame
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 A helper function for ordering window function output。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。