當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R dplyr order_by 用於排序窗口函數輸出的輔助函數


此函數可以控製 R 中沒有特定排序參數的窗口函數的排序。當轉換為 SQL 時,它將修改 OVER 函數的 order 子句。

用法

order_by(order_by, call)

參數

order_by

到order_by的向量

call

對窗口函數的函數調用,其中第一個參數是正在操作的向量

細節

此函數的工作原理是更改 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/order-by.R

相關用法


注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 A helper function for ordering window function output。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。