将长数据导入到data.tree结构中

时间:2018-11-29 09:40:18

标签: r data.table hierarchical-data

我有长格式的数据,这意味着每一行代表一个唯一的观察结果。 由于数据中存在层次关系,因此我想使用data.tree来表示数据。 不幸的是,似乎data.tree无法正确考虑各列中的不同值,似乎他只是使用data.table的一行来确定叶子的值。高度赞赏如何以树格式存储data.table中的所有信息。

library(data.table)
library(data.tree)
dt.tree.input <- structure(list(msg_seq_nb = c("0005747", "0005747", "0005747", "0005747")
               , Initial.Trade.Status = c("T", "T", "C", "C")
               , Initial.Trd.Rpt.Dt = structure(c(15987, 15987, 15987, 15987), class = "Date")
               , Initial.Trd.Rpt.Tm = c(34838, 34838, 34853, 34853)
               , J2.Msg.Nb = c("0005765", "0005765", "0005765", "0005765")
               , J2.Trade.Status = c("R", "C", "R", "C")
               , J2.Trd.Rpt.Tm = c(34853, 34863, 34853, 34863)
               , pathString = c("Trade/0005747/0005765", "Trade/0005747/0005765", "Trade/0005747/0005765", "Trade/0005747/0005765"))
          , row.names = c(NA, -4L), class = c("data.table", "data.frame"))

test.Node <- as.Node(dt.tree.input)

> print(test.Node, "Initial.Trade.Status", "J2.Trade.Status")
    levelName                 Initial.Trade.Status J2.Trade.Status
  1 Trade                                               
  2  °--0005747                                         
  3      °--0005765                    C               C

看来,只有data.table的最后一行在data.tree中具有正确的表示形式。如何实现将所有可能的状态观察值添加到data.tree。

0 个答案:

没有答案