## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set(collapse = TRUE, comment = "#>", fig.width = 6, fig.height = 4) ## ----setup-------------------------------------------------------------------- library(simOutrank) head(illustrative_log) ## ----traces------------------------------------------------------------------- traces <- as_traces(illustrative_log, case_id = "case_id", activity = "activity", timestamp = "timestamp") traces summary(traces)[1:5, ] ## ----criteria----------------------------------------------------------------- criteria <- list( crit_activity_profile(weight = 0.2, indifference = 0.7, similarity = 0.8, veto = 0.4), crit_edit_distance(weight = 0.2, similarity = 2, indifference = 3, veto = 6), crit_nominal("status", weight = 0.3), crit_nominal("satisfaction", weight = 0.3) ) criteria[[1]] ## ----similarity--------------------------------------------------------------- sim <- outrank_similarity(traces, criteria) sim round(sim$S[1:5, 1:5], 2) ## ----eigengap----------------------------------------------------------------- eigengap(sim, k_max = 8) ## ----cluster------------------------------------------------------------------ clust <- cluster_traces(sim, k = 4, seed = 42) clust split(names(clust$memberships), clust$memberships) ## ----use---------------------------------------------------------------------- augmented <- augment_log(clust, illustrative_log) head(augmented) plot(clust, type = "profile", attribute = "status") if (requireNamespace("clValid", quietly = TRUE)) { validate_clusters(clust) }