У меня возникли проблемы с переводом фрейма данных в широкий формат с помощью pivot_wider. Мой фрейм данных выглядит так:
Data <- read.table(header = T, text = "
ID A B C D
1 6.01764 0.00409222 0.000500143 101.816
1 6.01769 0.00431931 0.000565946 101.334
1 6.01774 0.00454617 0.00063163 101.923
2 6.01779 0.00477308 0.000697374 101.914
2 6.01784 0.00500005 0.000763118 101.905
2 6.0179 0.00522703 0.000828803 101.926
3 6.01795 0.005454 0.000894606 101.889
3 6.018 0.00568086 0.000960231 101.895
3 6.01805 0.00590783 0.00102603 101.87
")
Я хотел бы создать уникальные имена столбцов, объединив идентификатор с именем столбца, чтобы он выглядел так:
Datalong <- read.table(header = T, text = "
1A 1B 1C 1D 2A 2B 2C 2D 3A 3B 3C 3D
6.01764 0.00409222 0.000500143 101.816 6.01779 0.00477308 0.000697374 101.914 6.01795 0.005454 0.000894606 101.889
6.01769 0.00431931 0.000565946 101.334 6.01784 0.00500005 0.000763118 101.905 6.018 0.00568086 0.000960231 101.895
6.01774 0.00454617 0.00063163 101.923 6.0179 0.00522703 0.000828803 101.926 6.01805 0.00590783 0.00102603 101.87
")
Я думаю, мне может потребоваться добавить новый столбец, в котором будет учитываться каждый экземпляр столбца идентификатора (поскольку это данные временного ряда)
Я пытался:
DataNew <- Data %>% pivot_wider(names_from = ID, values_from = c(ID, colnames(Data)))
А также
Data %>% group_by(ID) %>% mutate(time = row_number()) %>% pivot_wider(names_from = time, values_from = c(ID, colnames(Data)))
но безрезультатно. Любая поддержка будет принята с благодарностью!