library(reshape2)
# Data
dat = data.frame(
year = c(2019,2019,2019,2019,2019,2019),
month = c(4,5,6,4,5,6),
sex_code = c("M","M","M","F","F","F"),
value1 = c(1,6,32,5,3,21),
value2 = c(5,3,8,1,1,4)
)
dat
## year month sex_code value1 value2
## 1 2019 4 M 1 5
## 2 2019 5 M 6 3
## 3 2019 6 M 32 8
## 4 2019 4 F 5 1
## 5 2019 5 F 3 1
## 6 2019 6 F 21 4
# To wide
dat = melt(dat, id.vars = c("year", "month", "sex_code"))
dat = dcast(dat, ... ~ variable + sex_code, value.var = "value")
dat
## year month value1_F value1_M value2_F value2_M
## 1 2019 4 5 1 1 5
## 2 2019 5 3 6 1 3
## 3 2019 6 21 32 4 8