Вот вариант с base R
lvls <- c(do.call(rbind, with(unique(df), split(Letters,
factor(Times, levels = sort(unique(Times), decreasing = TRUE))))))
df[order(factor(df$Letters, levels = lvls)),]
# Letters Times
#2 B 2
#3 B 2
#1 A 1
#5 D 2
#6 D 2
#4 C 1
#8 F 2
#9 F 2
#7 E 1
данные
df <- structure(list(Letters = c("A", "B", "B", "C", "D", "D", "E",
"F", "F"), Times = c(1L, 2L, 2L, 1L, 2L, 2L, 1L, 2L, 2L)),
class = "data.frame", row.names = c(NA,
-9L))