У меня есть набор данных в широком формате, который выглядит следующим образом:Как преобразовать набор данных с двумя заголовками в широком формате в длинный формат?
header 1 x x x y y z z
header 2 1 2 3 1 2 1 2
2015 3.0 4.0 2.0 3.1 2.1 2.3 2.1
2016 2.0 4.4 1.0 2.1 3.1 5.3 0.1
...
Я хочу, чтобы изменить его в длинном формате, который выглядит следующим образом:
header 1 variable 1 2 3
2015 x 3.0 4.0 2.0
2015 y 3.1 2.1 N/A
2015 Z 2.3 2.1 N/A
2016 ...
Это был мой подход:
- конкатенация заголовок 1 и заголовок два сепаратора с
- использование
melt()
функцией, а - разделить два
Но это не работает, как функция melt
изменяет мои символы фактор, и тогда я не могу разделить их. Может ли кто-нибудь помочь или предложить лучший подход?
Можете ли вы сделать воспроизводимый пример и включить код и желаемый результат? –
Вы можете 'as.character' ваши переменные фактора вернуться к символу. это также действительно выполнимо с 'tidyr', но в вашем сообщении нет кода для работы. – hrbrmstr