关于bupaR的process_map函数参数及节点数值的技术咨询
关于processmapR代码的疑问解答
代码核心功能
这段代码基于bupaR生态工具生成流程可视化地图,具体作用:
- 调用
process_map生成流程地图 - 节点标注:
processmapR::frequency("relative_case")展示每个活动节点的相对案例占比 - 边标注:
processmapR::performance(mean, units = "hours")展示相邻活动间过渡时间的均值(以小时为单位)
relative_case数值计算逻辑
文档描述的"活动涉及案例的百分比"是准确的,显示整数是因为工具自动做了×100的转换,直接展示百分比的整数形式:
- 计算公式:
(涉及该活动的案例数 / 总案例数) × 100 - 举例:总案例100,52个案例经过该节点则显示52;总案例200,52个案例经过则显示26(52/200×100=26)
- 之所以不是0.4这类小数,是因为工具默认将比例转换为百分比整数,更适配可视化展示需求。
过渡时间均值不符的可能原因
你需要的是Start到节点1/2/3的总过渡时间,但代码里的边均值是直接相邻活动对的过渡时间,并非从Start到目标节点的全路径时长:
- 流程地图里的Start是虚拟起始节点,它的下一个节点是日志中的第一个实际活动。如果要计算Start到节点1的总时长,需要自行提取每个案例从起始时间到节点1完成时间的差值,再计算均值,不能直接依赖Start到第一个活动的边数值。
- 数据时间格式问题:如果
activity_start_time/activity_end_time不是标准时间类型(如POSIXct),会导致时间差计算错误。 - 异常数据干扰:若存在活动结束时间早于开始时间、缺失时间戳的案例,会被自动排除,进而影响均值结果。
内容的提问来源于stack exchange,提问作者steve
相关产品推荐
相关产品推荐

