У меня есть data.table
dumdt
:
set.seed(123)
dumdt <- data.table(v1=sample(1:10, 5), v2=1:5)
чьи строки я хотел бы переупорядочить в этом конкретном порядке индексов (сначала первое третье, затем пятое, второе и т.д.):
to_ord <- c(3, 5, 2, 1, 4)
Поэтому я хотел бы, чтобы dumdt
был результатом dumdt[to_ord]
, но я также хотел бы сделать это по ссылке и не делать dumdt <- dumdt[to_ord]
.
Я знаю, что могу упорядочить строки по ссылке setorder
(или setorderv
), но только по одной или нескольким переменным, в порядке возрастания или убывания, а не в индивидуальном порядке.
Однако, если я хотел бы изменить порядок столбцов, а не строк, в индивидуальном порядке, я мог бы использовать setcolorder
.
Итак, вот мой вопрос: есть ли функция, которая будет работать как setcolorder
, но с строками (или способом использовать setorder
, чтобы сделать то же самое)?
Мой желаемый результат будет чем-то вроде
setroworder(x=dumdt, neworder=to_ord)
dumdt
# v1 v2
# 1: 4 3
# 2: 6 5
# 3: 8 2
# 4: 3 1
# 5: 7 4