【发布时间】:2019-09-12 11:58:48
【问题描述】:
我想知道我的两步解决方案是否可以简化为一个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(data.table)
melt(DT, id.vars = "category", variable.name = "year")[, dcast(.SD, year ~ category)]
【问题讨论】:
-
'几乎'解决方案:
as.data.table( t(DT), keep.rownames = TRUE )[2:.N,]
标签: r data.table melt