R Частичное изменение формы данных от длинного к широкому

Мне нравится изменять набор данных от длинных до широких. В частности, новый широкий набор данных должен состоять из строк, соответствующих уникальному количеству идентификаторов в длинном наборе данных, а число столбцов кратно уникальным значениям другой переменной.

Допустим, это оригинальный набор данных:

ID a b C d e f g
1  1 1 1 1 2 3 4
1  1 1 2 5 6 7 8
2  2 2 1 1 2 3 4
2  2 2 3 9 0 1 2
2  2 2 2 5 6 7 8
3  3 3 3 9 0 1 2
3  3 3 2 5 6 7 8
3  3 3 1 1 2 3 4

В новом наборе данных число строк равно числу идентификаторов, количество столбцов равно 3 плюс кратное число уникальных элементов, найденных в переменной.C и значения из переменныхd вg заполняются после сортировки переменнойC в порядке возрастания Это должно выглядеть примерно так:

ID a b d1 e1 f1 g1 d2 e2 f2 g2 d3 e3 f3 g3
1  1 1  1  2  3  4  5  6  7  8 NA NA NA NA
2  2 2  1  2  3  4  5  6  7  8  9  0  1  2
3  3 3  1  2  3  4  5  6  7  8  9  0  1  2

Ответы на вопрос(2)

Ваш ответ на вопрос