Я хочу преобразовать набор данных из широкого формата в длинный.
Набор данных содержит 300 переменных типа something, и каждая переменная названа по принципу: ModelID_Emotion_ModelGender. Примеры данных ниже:
structure(list(X71_Anger_Male = structure(c(3L, 1L, 2L), .Label = c("Anger",
"Disgust", "Fear"), class = "factor"), X71_Disgus_Male = structure(c(2L,
1L, 1L), .Label = c("Disgust", "Fear"), class = "factor")), class = "data.frame", row.names = c(NA,
-3L))
Я хочу транспонировать данные таким образом, чтобы информация из имен столбцов бралась и помещалась в новые переменные. Например, должна быть новая переменная ModelGender, новая переменная modelID и новая переменная эмоции. Таким образом, набор данных должен выглядеть следующим образом:
structure(list(Gender = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "Male", class = "factor"),
ModelNumber = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "X71", class = "factor"),
Emotion = structure(c(2L, 2L, 2L, 1L, 1L, 1L), .Label = c("Anger",
"Disgust"), class = "factor"), Response = structure(c(3L,
2L, 2L, 3L, 1L, 2L), .Label = c("Anger", "Disgust", "Fear"
), class = "factor")), class = "data.frame", row.names = c(NA,
-6L))
Когда я использую изменение формы, сборку / распространение или плавление / заливку, это не дает желаемых результатов. Кто-нибудь знает, как это сделать?
Спасибо за ваше время!