как преобразовать структуру таблицы данных в R - PullRequest
0 голосов
/ 25 июня 2018

у меня ниже формат данных.он имеет cbind a, b данные в соответствии с датой.

a           b            days
--------------------------------
c(1,2,3)  c(1,2,3)   2018-06-22
c(4,5,6)  c(4,5,6)   2018-06-23
....
--------------------------------

и я хочу преобразовать его в различные форматы, в которых есть столбцы a, b в соответствии с днями

2018-06-22       2018-06-23   ....
-------------------------------
a      b         a        b
-----------------------------
1     1          4        4
2     2          5        5
3     3          3        3

как я могу преобразовать его?

1 Ответ

0 голосов
/ 25 июня 2018

Это лучшее, что я могу сделать.Он использует пакет 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...