Это лучшее, что я могу сделать.Он использует пакет data.table и выводит ваши преобразованные данные в длинном формате.
require(data.table)
# your data
dt1 <- data.table(a = list(c(1,2,3),c(4,5,6)), b = list(c(1,2,3),c(4,5,6)), days = c("2018-06-22","2018-06-23"))
# to long format
dt2 <- melt(dt1,id.vars = 3)
# unlist
dt3 <- dt2[ , unlist(value), by = c("days","variable")]
#result
days variable V1
1: 2018-06-22 a 1
2: 2018-06-22 a 2
3: 2018-06-22 a 3
4: 2018-06-23 a 4
5: 2018-06-23 a 5
6: 2018-06-23 a 6
7: 2018-06-22 b 1
8: 2018-06-22 b 2
9: 2018-06-22 b 3
10: 2018-06-23 b 4
11: 2018-06-23 b 5
12: 2018-06-23 b 6