У меня есть набор данных, как показано ниже:Перестройка данных длиной до широкого формата в R
Frame | X.axis | Y.axis | Z.axis
-------|--------|--------|--------
1 | 0.2 | 0.215 | 0.965
-------|--------|--------|--------
2 | 0.54 | 1.25 | 2.219
-------|--------|--------|--------
1 | 2.124 | 2.418 | 1.35
-------|--------|--------|--------
2 | -1.2 | 0.49 | 1.87
-------|--------|--------|--------
1 | 6.42 | -1.28 | 7.1
-------|--------|--------|--------
2 | 6.45 | -2.5 | 8.5
Я хочу, чтобы изменить приведенную выше таблицу в нечто подобное, как показано здесь:
frame1.X.axis | frame1.Y.axis | frame1.Z.axis | frame2.X.axis | frame2.Y.axis | frame2.Z.axis
--------|--------|--------|--------|--------|--------
0.2 | 0.215 | 0.965 | 0.54 | 1.25 | 2.219
--------|--------|--------|--------|--------|--------
2.124 | 2.418 | 1.35 | -1.2 | 0.49 | 1.87
--------|--------|--------|--------|--------|--------
6.42 | -1.28 | 7.1 | 6.45 | -2.5 | 8.5
Как может ли быть достигнута вышеуказанная задача?
Важное примечание:
Реальный набор данных имеет 16 кадров вместо 2. И столбцы, которые будут распространяться в 90 вместо 3. Таким образом, я не хочу функцию, которая требует от меня упомянуть новые имена столбцов вручную. Я хочу, чтобы имена столбцов были автоматически названы функцией как-то.
Я попытался использовать tidyr
пакет spread
, но я не мог этого сделать, используя это. Затем я попробовал функцию reshape
, но также запрашивает имена новых столбцов.
Пожалуйста, см [это Q/A] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) для обеспечения воспроизводимых данных. – Tensibai