order_by {dplyr} | R Documentation

## A helper function for ordering window function output

### Description

This function makes it possible to control the ordering of window functions in R that don't have a specific ordering parameter. When translated to SQL it will modify the order clause of the OVER function.

### Usage

    order_by(order_by, call)

### Arguments

`order_by` | a vector to order_by
`call` | a function call to a window function, where the first argument is the vector being operated on

### Details

This function works by changing the `call` to instead call `with_order()` with the appropriate arguments.

### Examples

    order_by(10:1, cumsum(1:10))
    x <- 10:1
    y <- 1:10
    order_by(x, cumsum(y))

    df <- data.frame(year = 2000:2005, value = (0:5) ^ 2)
    scrambled <- df[sample(nrow(df)), ]

    wrong <- mutate(scrambled, running = cumsum(value))
    arrange(wrong, year)

    right <- mutate(scrambled, running = order_by(year, cumsum(value)))
    arrange(right, year)

[Package dplyr version 0.7.4 Index]