R/col-specs.R

Defines functions gisa_col_specs

Documented in gisa_col_specs

#' GISA data column specs
#'
#' @importFrom readr col_double col_character col_skip col_integer
#' @keywords internal
gisa_col_specs <- function() {
  auto_cols <- list(
    WrittenVehicles = col_double(),
    NumberofEarnedVehicles = col_double(),
    WrittenPremium = col_double(),
    EarnedPremium = col_double(),
    ClaimCount = col_double(),
    ClaimCountORIGINAL = col_double(),
    ClaimCountOMPP = col_double(),
    ClaimCountGENERATED = col_double(),
    LossAmount = col_double(),
    ExpenseAmount = col_double(),
    LossandExpenseAmount = col_double(),
    FactorFlag = col_character(),
    SectionNumber = col_character(),
    ValuationYear = col_character(),
    CompanyIdentification = col_character(),
    ExhibitType = col_skip(),
    MajorVehicleClass = col_character(),
    MinorVehicleClass = col_character(),
    TypeOfBusiness = col_character(),
    TypeOfUse = col_character(),
    DrivingRecord = col_character(),
    ExcludedDriverCode = col_character(),
    TrailerIndicator = col_character(),
    FleetFlag = col_character(),
    GridIndicator = col_character(),
    FirstChanceIndicator = col_character(),
    RetireeDiscount = col_double(),
    TypeAConvictions = col_integer(),
    TypeBConvictions = col_integer(),
    TypeCConvictions = col_integer(),
    VehicleUse = col_character(),
    FirstPartyVehiTotalLossIndicator = col_character(),
    OperatorGridLevel = col_character(),
    DriverType = col_character(),
    GroupMarketingIndicator = col_character(),
    NumberOtherOperators = col_integer(),
    OtherOperatorYearsLicensed = col_double(),
    NumberClaims = col_double(),
    NumberYearsClaimsFree = col_double(),
    NumberYearsLicensed = col_double(),
    Gender = col_character(),
    AgeGroup = col_character(),
    DriverTrainingIndicator = col_character(),
    Region = col_character(),
    UrbanRuralIndicator = col_character(),
    Province = col_character(),
    StatisticalTerritory = col_character(),
    VehicleLocationPostalCode = col_character(),
    MajorCoverageType = col_character(),
    MinorCoverageType = col_character(),
    DeductibleAmount = col_character(),
    LimitAmount = col_character(),
    SizeOfLossRange = col_character(),
    KindOfLossCode = col_character(),
    LossTransferFlag = col_character(),
    PaidOutstandingIndicator = col_character(),
    EntryHalfYear = col_character(),
    AccidentHalfYear = col_character(),
    Offsettortdeductible = col_character(),
    `AccBenOpt-MedRehab` = col_character(),
    `AccBenOpt-AttendCare` = col_character(),
    `AccBenOpt-Caregiver,HousekeepingandHomemaintenance` = col_character(),
    `AccBenOpt-IncomeReplacement` = col_character(),
    `AccBenOpt-DependentCare` = col_character(),
    `AccBenOpt-DeathandFuneralexpenses` = col_character(),
    `AccBenOpt-Indexation` = col_character(),
    AccBenCatastrophicImpairmentindicator = col_character(),
    AccBenMinorInjuryindicator = col_character(),
    AccBenCatastrophicImpairmentstatus = col_character(),
    AccBenMinorinjurystatus = col_character()
  )

  cat_cols <- list(
    AccidentDateCatastrophe = col_character(),
    ClaimCountCatastrophic = col_double(),
    LossAmountCatastrophic = col_double(),
    ExpenseAmountCatastrophic = col_double(),
    LossandExpenseAmountCatastrophic = col_double()
  )

  liab_cols <- list(
    `Written Premium` = col_double(),
    `Earned Premium` = col_double(),
    `Reported Claim Count` = col_double(),
    `Generated Claim Count` = col_double(),
    `Loss Amount` = col_double(),
    `Expense Amount` = col_double(),
    `Loss and Expense Amount` = col_double(),
    `Reserved Amount 1` = col_skip(),
    `Reserved Amount 2` = col_skip(),
    `Reserved Amount 3` = col_skip(),
    `Reserved Amount 4` = col_skip(),
    `Reserved Amount 5` = col_skip(),
    `Section Number` = col_character(),
    `Company Identification` = col_character(),
    Region = col_character(),
    Province = col_character(),
    `Valuation Year` = col_character(),
    `Accident Year` = col_character(),
    `Entry Year` = col_character(),
    `Major Class` = col_character(),
    `Coverage/Policy Form` = col_character(),
    `Industry Code` = col_character(),
    `Policy Type` = col_character(),
    `Kind of Loss Code` = col_character(),
    `Kind of Loss Indicator` = col_character(),
    `Paid Outstanding Indicator` = col_character(),
    `Claim Location` = col_character(),
    `Type of Expense` = col_character(),
    `Policy Limit Group` = col_character(),
    `Size of Loss  Range Group` = col_character(),
    `Reserved 1` = col_skip(),
    `Reserved 2` = col_skip(),
    `Reserved 3` = col_skip(),
    `Reserved 4` = col_skip(),
    `Reserved 5` = col_skip(),
    `Reserved 6` = col_skip(),
    `Reserved 7` = col_skip(),
    `Reserved 8` = col_skip(),
    `Reserved 9` = col_skip(),
    `Reserved 10` = col_skip(),
    `Reserved 11` = col_skip(),
    `Reserved 12` = col_skip(),
    `Reserved 13` = col_skip(),
    `Reserved 14` = col_skip(),
    `Reserved 15` = col_skip(),
    `Reserved 16` = col_skip(),
    `Reserved 17` = col_skip(),
    `Reserved 18` = col_skip(),
    `Reserved 19` = col_skip(),
    `Reserved 20` = col_skip(),
    `Reserved 21` = col_skip(),
    `Reserved 22` = col_skip(),
    `Reserved 23` = col_skip(),
    `Reserved 24` = col_skip(),
    `Reserved 25` = col_skip(),
    `Reserved 26` = col_skip(),
    `Reserved 27` = col_skip(),
    `Reserved 28` = col_skip(),
    `Reserved 29` = col_skip(),
    `Reserved 30` = col_skip()
  )

  auto_col_spec <- do.call(readr::cols, auto_cols)
  auto_cat_col_spec <- do.call(readr::cols, c(auto_cols, cat_cols))
  liab_col_spec <- do.call(readr::cols, liab_cols)

  list(
    liability = liab_col_spec,
    auto_cat = auto_cat_col_spec,
    auto = auto_col_spec
  )
}
kasaai/gisadata documentation built on March 22, 2021, 3:42 p.m.