All functions

add_journey_id()

Adds column grouping applicable rides as numbered journeys

add_tagon_time()

Add columns for tag on time, trip duration to tag off transactions

add_transfer_time()

Adds column classifying transfers as given by the transfer rules dataframe

add_trip_cost()

Add column for previous purse amount and actual trip cost for trips with subtypes 2/3

as_bart_journeys()

Spreads multiple transactions across columns into one-row-per-bart-trip (with a focus on transfers in and out)

as_rides()

Drop rows with tag on subtypes after recording the relevant tag on information in the tag off transactions

bart_identify()

Adds columns identifying bart transactions, including lags and leads

bart_lag_and_lead_metadata()

Adds columns describing the route, time, and operator name of previous and later transactions

bart_to_bart()

Filters transactions to BART intra-transfers only

bart_transactions_per_user()

Adds a column with a counts of the number of bart transactions per user and diff with all transactions

combined_bart_transactions()

Creates combined dataframe of multiple transactions per row

create_transfer_df()

Creates a summary table of all combinations of transfers

day_of_transactions()

Pull all transactions for a given number of users

descriptive_tables()

Get descriptive tables for transactions

fares_for_day()

Partition the transaction table by travel survey/model day (starting at 3 am)

get_product_description()

Add human-readable product names to transaction entries

identify_transfer_for_time()

Adds column to indicate a transfer under given time windows

sample_day_of_transactions()

Sample a day of transactions for a given number of users

spread_time_column()

get a nicely formatted time dataframe (yday, hour, yday, row, etc) for a column we do the date parsing this way because of the UTC/datetime crossover

transactions_per_user()

Adds a column with a counts of the number of transactions per user