如何将行压缩到 R 中的二进制列表?
How to compress rows to a binary list in R?
我有一个按会话 ID 列出的页面访问列表。我需要将其修改为每页两页的列表,在列表中重复,直到它们全部被使用。 ID 将复制到新行中。我还需要保留先前的节点以与新节点一起使用。
我想转这个:
Session Page
ID1 Home
ID1 Inventory
ID1 Details
ID1 Home
ID2 Inventory
ID2 Home
ID2 Details
ID2 Inventory
ID3 Inventory
ID3 Details
ID4 Details
ID4 Inventory
ID4 Details
ID4 Inventory
ID4 Details
ID4 Inventory
ID4 Details
ID4 Inventory
ID4 Home
进入这个:
Session Node1 Node2
ID1 Home Inventory
ID1 Inventory Vehicles
ID1 Vehicle Home
ID2 Inventory Home
ID2 Home Vehicle
ID2 Vehicle Inventory
ID3 Inventory Vehicle
ID4 Vehicle Inventory
ID4 Inventory Vehicle
ID4 Vehicle Inventory
ID4 Inventory Vehicle
ID4 Vehicle Inventory
ID4 Inventory Vehicle
ID4 Vehicle Inventory
ID4 Inventory Home
最终目的是将其输入igraph做activity的网络图。如果有意义的话,一次会话中可以有多达 44 次不同的页面访问。
假设Vehicle是Details,你的数据存储在mydata
library(data.table)
setDT(mydata)
mydata[, Node2 := Page[.I + 1]]
mydata[, t := Session[.I + 1]]
mydata[Session == t, list(Session,Node1 = Page,Node2)]
我有一个按会话 ID 列出的页面访问列表。我需要将其修改为每页两页的列表,在列表中重复,直到它们全部被使用。 ID 将复制到新行中。我还需要保留先前的节点以与新节点一起使用。
我想转这个:
Session Page
ID1 Home
ID1 Inventory
ID1 Details
ID1 Home
ID2 Inventory
ID2 Home
ID2 Details
ID2 Inventory
ID3 Inventory
ID3 Details
ID4 Details
ID4 Inventory
ID4 Details
ID4 Inventory
ID4 Details
ID4 Inventory
ID4 Details
ID4 Inventory
ID4 Home
进入这个:
Session Node1 Node2
ID1 Home Inventory
ID1 Inventory Vehicles
ID1 Vehicle Home
ID2 Inventory Home
ID2 Home Vehicle
ID2 Vehicle Inventory
ID3 Inventory Vehicle
ID4 Vehicle Inventory
ID4 Inventory Vehicle
ID4 Vehicle Inventory
ID4 Inventory Vehicle
ID4 Vehicle Inventory
ID4 Inventory Vehicle
ID4 Vehicle Inventory
ID4 Inventory Home
最终目的是将其输入igraph做activity的网络图。如果有意义的话,一次会话中可以有多达 44 次不同的页面访问。
假设Vehicle是Details,你的数据存储在mydata
library(data.table)
setDT(mydata)
mydata[, Node2 := Page[.I + 1]]
mydata[, t := Session[.I + 1]]
mydata[Session == t, list(Session,Node1 = Page,Node2)]