Я пытаюсь объединить строку, которая определяет порядок столбцов по их значению.
set.seed(100)
df <- tibble(id = 1:5,
col1 = sample(1:50, 5),
col2 = sample(1:50, 5),
col3 = sample(1:50, 5)) %>%
mutate_at(vars(-id), ~if_else(. <= 20, NA_integer_, .))
# A tibble: 5 x 4
id col1 col2 col3
<int> <int> <int> <int>
1 1 NA 44 NA
2 2 38 23 34
3 3 48 22 NA
4 4 25 NA 48
5 5 NA NA 43
res <- df %>%
add_column(order = c('col2',
'col2_col3_co1',
'col2_col1',
'col1_col3',
'col3'))
# A tibble: 5 x 5
id col1 col2 col3 order
<int> <int> <int> <int> <chr>
1 1 NA 44 NA col2
2 2 38 23 34 col2_col3_co1
3 3 48 22 NA col2_col1
4 4 25 NA 48 col1_col3
5 5 NA NA 43 col3
Мои текущие данные представлены в виде df, а столбец, который я пытаюсь добавить, - столбец заказа в рез. Порядок элементов в строке определяется значением каждого столбца, а также необходимо пропустить NA. Я пытаюсь определить последовательность, которую использует каждый идентификатор для заполнения значения в каждом столбце, поскольку значения представляют собой время в днях. Однако не все идентификаторы будут иметь значение во всех столбцах, поэтому пропущенные значения отсутствуют. Я обычно работаю в tidyverse, но любое решение или мысли будут высоко оценены.