Interactive Tables
Table Sort
Reorder Rows
A sortable table keeps row values together while changing their display order.
Program
Play the script to choose a sort mode and watch the row order change.
table_sort.R
item <- c("alpha", "beta", "gamma")
count <- c(5, 12, 8)
sort_mode <-
mode <- c("name", "count_desc", "count_asc")[sort_mode]
order_index <- switch(mode, name = order(item), count_desc = order(-count), count_asc = order(count))
rows <- paste(item[order_index], count[order_index], sep = "=")
label <- paste(rows, collapse = ",")
cat(label, "\n", sep = "")
item <- c("alpha", "beta", "gamma")
count <- c(5, 12, 8)
sort_mode <-
mode <- c("name", "count_desc", "count_asc")[sort_mode]
order_index <- switch(mode, name = order(item), count_desc = order(-count), count_asc = order(count))
rows <- paste(item[order_index], count[order_index], sep = "=")
label <- paste(rows, collapse = ",")
cat(label, "\n", sep = "")
item <- c("alpha", "beta", "gamma")
count <- c(5, 12, 8)
sort_mode <-
mode <- c("name", "count_desc", "count_asc")[sort_mode]
order_index <- switch(mode, name = order(item), count_desc = order(-count), count_asc = order(count))
rows <- paste(item[order_index], count[order_index], sep = "=")
label <- paste(rows, collapse = ",")
cat(label, "\n", sep = "")
order
`order(...)` returns row positions in sorted order.
switch
`switch(mode, ...)` selects the active sort rule.
row integrity
`item[order_index]` and `count[order_index]` keep columns aligned.