Мне интересно, может ли мое двухшаговое решение быть уменьшено до одного melt()
вызова или выполнено более простым способом с помощью data.table
.
Мои данные:
DT <- data.table(category = c("x", "y"), `2010` = c(10, 20), `2011` = c(40, 43))
DT # Has much more columns in reality
category 2010 2011
1: x 10 40
2: y 20 43
Ожидаемый результат:
year x y
1: 2010 10 20
2: 2011 40 43
Текущее решение:
library(magrittr)
melt(DT, id.vars = "category", variable.name = "year") %>%
dcast(year ~ category)