You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从bupaR生成的process_map对象中提取from、to、value至数据框?

从bupaR流程地图对象提取from/to/value数据并转为DataFrame

问题描述

我使用bupaR包创建了流程地图:

library(bupaR)
patients %>%
    process_map(performance(mean, "days"))

perf <- patients %>%
    process_map(performance(mean, "days"))

现在希望从生成的perf对象中提取可见的from、to和value数据,并转换为dataframe。

解决方案

bupaR生成的process_map对象属于DiagrammeR图形对象,可通过以下步骤提取目标数据:

  • 先从对象中取出底层图形数据:
    graph_data <- perf$x$diagram
    
  • 提取边(edges)数据集,其中包含from、to节点ID和对应的value(即你计算的平均耗时):
    edges_df <- graph_data$edges_df
    
  • 直接筛选所需列得到基础结果:
    result_df <- edges_df[, c("from", "to", "value")]
    
  • 如果需要用节点名称(而非ID)展示from和to,可结合节点(nodes)数据做映射:
    nodes_df <- graph_data$nodes_df
    # 需要先加载dplyr包
    library(dplyr)
    result_df <- edges_df %>%
      left_join(nodes_df[, c("id", "label")], by = c("from" = "id")) %>%
      rename(from_activity = label) %>%
      left_join(nodes_df[, c("id", "label")], by = c("to" = "id")) %>%
      rename(to_activity = label) %>%
      select(from_activity, to_activity, value)
    

执行后就能得到包含流程路径起点、终点和对应平均耗时的DataFrame。

内容的提问来源于stack exchange,提问作者firmo23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 09:05:21