如何基于bupar包为每个案例生成并添加流程轨迹至原数据?
解决方案
从eventlog提取案例轨迹
使用bupar::traces()函数,它会基于eventlog中已排序的活动序列生成每个CASEID对应的轨迹字符串,逻辑和流程地图完全一致。代码示例:library(bupar) # 假设你的eventlog对象为el trace_df <- traces(el, output = "dataframe") # trace_df中的trace列即为所需的轨迹格式(如created-revised-accepted)合并轨迹到原始数据
以CASEID为关联键,将轨迹数据与原始CSV数据合并,保留原始所有字段:# 假设原始数据框为raw_data,CASEID列名为"CASEID" raw_data_with_trace <- merge(raw_data, trace_df[, c("case_id", "trace")], by.x = "CASEID", by.y = "case_id", all.x = TRUE)关键说明
- 确保eventlog的
case_id字段与原始数据的CASEID列名匹配,不一致时调整by.x和by.y参数即可。 - 若需要自定义轨迹的活动分隔符,可在
traces()中添加separator参数,例如traces(el, output = "dataframe", separator = "->")。 trace_list()返回的是列表结构,不便于直接合并,而output = "dataframe"参数能输出易操作的数据框格式,这是解决你之前尝试失败的核心点。
- 确保eventlog的
内容的提问来源于stack exchange,提问作者PSt
相关产品推荐
相关产品推荐

