You'd expect data[order,] to "just work". It doesn't for data frames with a single column, which happens for annotation data, hence the need for this function. Sigh.

reorder_frame(frame, order)

Arguments

frame

A data frame to reorder the rows of.

order

An array containing indices permutation to apply to the rows.

Value

The data frame with the new row orders.

Examples

df <- data.frame(foo=c(1, 2, 3)) df[c(1,3,2),]
#> [1] 1 3 2
slanter::reorder_frame(df, c(1,3,2))
#> foo #> 1 1 #> 3 3 #> 2 2