R/to_eventlog.R

Defines functions to_eventlog.grouped_activitylog to_eventlog.activitylog to_eventlog

Documented in to_eventlog to_eventlog.activitylog to_eventlog.grouped_activitylog

#' Convert activitylog to eventlog
#'
#' @param activitylog Object of class \code{\link{activitylog}}
#'
#' @export
#'
to_eventlog <- function(activitylog) {
	UseMethod("to_eventlog")
}

#' @describeIn to_eventlog Convert activitylog to eventlog
#' @export
to_eventlog.activitylog <- function(activitylog) {
	activitylog %>%
		as.data.frame() %>%
		mutate(activity_instance_id_by_bupar = 1:n()) %>%
		#mutate(across(timestamps(activitylog), as.character)) %>%
		gather(lifecycle_id, timestamp, timestamps(activitylog)) %>%
		filter(!is.na(timestamp)) %>%
		#mutate(timestamp = ymd_hms(timestamp)) %>%
		eventlog(case_id = case_id(activitylog),
				 activity_id = activity_id(activitylog),
				 activity_instance_id = "activity_instance_id_by_bupar",
				 timestamp = "timestamp",
				 lifecycle_id = "lifecycle_id",
				 resource_id = resource_id(activitylog))
}

#' @describeIn to_eventlog Convert grouped activitylog to grouped eventlog
#' @export
#'
to_eventlog.grouped_activitylog <- function(activitylog) {
	mapping <- mapping(activitylog)
	activitylog %>%
		to_eventlog.activitylog() %>%
		group_by(across(mapping$groups))
}

Try the bupaR package in your browser

Any scripts or data that you put into this service are public.

bupaR documentation built on April 3, 2023, 5:23 p.m.