我使用BUPAR包进行流程分析.假设我存储在CSV文件中的数据如下所示(该文件已经按CaseID和时间戳正确排序):
STATUS;timestamp;CASEID
created;16-02-2023 09:46:32;1
revised;13-04-2023 23:58:59;1
accepted;13-04-2023 23:59:59;1
created;16-02-2023 09:46:32;2
accepted;13-04-2023 23:59:59;2
created;14-12-2022 13:17:54;3
revised;02-01-2023 23:59:59;3
accepted;28-02-2023 19:37:01;3
submitted;03-03-2023 23:59:59;3
created;02-01-2023 07:45:43;5
created;24-01-2022 16:05:58;6
accepted;03-02-2022 23:59:59;6
created;24-01-2022 15:52:53;7
accepted;03-02-2022 23:59:59;7
created;15-08-2022 12:54:23;8
rejected;18-08-2022 23:59:59;8
created;21-03-2022 15:32:05;9
accepted;26-04-2022 23:59:59;9
created;21-03-2022 15:42:39;10
ID为1的第一个 case 的跟踪为"Created-Revision-Accept".因此,首先是事件创建,然后修改,然后接受.
我现在使用以下代码创建流程图:
library(bupaR)
library(processmapR)
library(edeaR)
datafile <- read.csv(file="pathtofile\\testfile.csv",header=T, sep=";")
datafile$timestampcolumn <- as.POSIXct(datafile$timestamp, format="%d-%m-%Y %H:%M:%S")
mytest <- simple_eventlog(datafile, case_id = "CASEID", activity_id = "STATUS", timestamp = "timestampcolumn")
process_map(mytest, type = frequency("absolute"))
这提供了:
现在,我想将每个 case 的踪迹添加到我的原始文件中.当然,案件的痕迹总是相同的.因此,输出应如下所示(跟踪中的每个事件由示例"-"分隔):
STATUS;timestamp;CASEID;trace
created;16-02-2023 09:46:32;1;created-revised-accepted
revised;13-04-2023 23:58:59;1;created-revised-accepted
accepted;13-04-2023 23:59:59;1;created-revised-accepted
created;16-02-2023 09:46:32;2;created-accepted
accepted;13-04-2023 23:59:59;2;created-accepted
created;14-12-2022 13:17:54;3;created-revised-accepted-submitted
revised;02-01-2023 23:59:59;3;created-revised-accepted-submitted
accepted;28-02-2023 19:37:01;3;created-revised-accepted-submitted
submitted;03-03-2023 23:59:59;3;created-revised-accepted-submitted
created;02-01-2023 07:45:43;5;created
created;24-01-2022 16:05:58;6;created-accepted
accepted;03-02-2022 23:59:59;6;created-accepted
created;24-01-2022 15:52:53;7;created-accepted
accepted;03-02-2022 23:59:59;7;created-accepted
created;15-08-2022 12:54:23;8;created-rejected
rejected;18-08-2022 23:59:59;8;created-rejected
created;21-03-2022 15:32:05;9;created-accepted
accepted;26-04-2022 23:59:59;9;created-accepted
created;21-03-2022 15:42:39;10;created
我试着try 使用filter_activity
、trace_list
(来自edeaR包)和其他命令,但我无法理解.我想使用PROCESS_MAP算法/bupar包代码的结果.以使其与图形中的输出相对应.因此,我不想自己手动实现算法来计算轨迹.所以我当然可以实现一个算法来判断每个 case ,并写下状态等等.但不知何故,这已经在bupar eventlog/process_map命令中了,我想使用它.我想深入挖掘细节,看看哪个案件根据图表有具体的痕迹.这就是为什么让它与bupar输出保持一致,而不是用单独的算法对其进行编程的原因.这一信息必须以某种方式已经包括在内,否则该图将不存在.
那么,我如何才能做到这一点呢?