Мы можем инвертировать кадр данных и выбрать индексы в обратном порядке, используя slice
library(tidyverse)
separate_rows(d, col1, convert = TRUE) %>%
slice(n():1)
# col1
# <int>
#1 3
#2 2
#3 1
Для нескольких строк на примере @ Spacedman
d = data.frame(col1=c("23,34,99","9,3,2"),stringsAsFactors=FALSE)
Приведенное выше решение даст
separate_rows(d, col1, convert = TRUE) %>%
slice(n():1)
# A tibble: 6 x 1
col1
<int>
#1 2
#2 3
#3 9
#4 99
#5 34
#6 23
Однако в случае, если OP необходимо перевернуть строку для каждой строки отдельно, мы можем создать столбец group
с row_number
и затем перевернуть строку для каждой строки в отдельности, как предложено @ Sotos
d %>%
mutate(group = row_number()) %>%
separate_rows(col1, convert = TRUE) %>%
group_by(group) %>%
slice(n():1) %>%
ungroup() %>%
select(-group)
# A tibble: 6 x 1
# col1
# <int>
#1 99
#2 34
#3 23
#4 2
#5 3
#6 9