Learn R Programming

eventr

The goal of eventr is to ...

Installation

You can install the released version of eventr from CRAN with:

install.packages("eventr")

# Or the development version from GitHub:
# install.packages("devtools")
devtools::install_github("alvarofranq/eventr")

Example

This is a basic example which shows you how to solve a common problem:


library(eventr)
library(dplyr)

birth_event <- event(
  id = 'first-id',
  type = 'BIRTH',
  time = '1936-11-09',
  birth_date = '1936-11-09'
)

death_event <- event(
  id = 'second-id',
  type = 'DEATH',
  time = '2019-05-22',
  death_date = '2019-05-22'
)

set_birth_date <- function(obj, event){
  obj$birth_date <- get_body_attr(event, "birth_date")
  return(obj)
}

set_death_date <- function(obj, event){
  obj$death_date <- get_body_attr(event, "death_date")
  return(obj)
}

birth_handler <- handler(type = 'BIRTH', FUN = set_birth_date)
death_handler <- handler(type = 'DEATH', FUN = set_death_date)

handlers <- handlers_list(birth_handler, death_handler)

the_dispatcher <- dispatcher(handlers)

dispatch <- get_dispatch(the_dispatcher)

events <- event_list(birth_event, death_event)

the_obj <- dispatch(events = events, accumulate = FALSE)
the_obj

the_obj <- dispatch(events = events, accumulate = TRUE)
the_obj

# transform the_obj to data.frame
the_obj %>%
  purrr::map(as.data.frame) %>%
  bind_rows
  

Copy Link

Version

Install

install.packages('eventr')

Monthly Downloads

15

Version

1.0.0

License

GPL-3

Maintainer

Alvaro Franquet

Last Published

May 26th, 2020

Functions in eventr (1.0.0)

get_fun

Get Function
get_header

Get Event Header
get_handlers

Get handlers
get_time

Get Event Time
get_id

Get Event Identifier
+.handler

Add handlers to a handlers_list
get_type

Get Event Type
handler

Handler Constructor
handlers_list

Handler List Constructor
is_event

Is an Object from a class?
get_body

Get Event Body
new_event

Event Constructor
get_body_attr

Get Event Body Attribute
new_event_list

Event list
get_dispatch

Get dispatch function
add_event

Add Event
dispatcher

Dispatcher
add_handler

Add Handler
+.event

Add events to an event list