I reshape data using data.table.
library(data.table)
market <- data.table(
stkcd=c(1,2),
type =c(1,0),
roa2013=c(2,3),
roa2014=c(4,5),
lev2013=c(6,7),
lev2016=c(8,9))
market
# stkcd type roa2013 roa2014 lev2013 lev2016
# 1: 1 1 2 4 6 8
# 2: 2 0 3 5 7 9
melt(market,
measure.vars = patterns("^roa", "^lev"),
variable.name = "year",
value.name = c("roa","lev"))
# stkcd type year roa lev
# 1: 1 1 1 2 6
# 2: 2 0 1 3 7
# 3: 1 1 2 4 8
# 4: 2 0 2 5 9
This is how the final data should look like.
# stkcd type year roa lev
# 1 1 1 2013 2 6
# 2 1 1 2014 4 NA
# 3 1 1 2016 NA 8
# 4 2 0 2013 3 7
# 5 2 0 2014 5 NA
# 6 2 0 2016 NA 9
Does anybody have any good ways for it? Thanks.