我有长格式的数据,这意味着每一行代表一个唯一的观察结果。
由于数据中存在层次关系,因此我想使用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。