Import libraries
Import San Bernardino Deed Mortgage Data
print(c("There are", nrow(df.06071_deed), "rows in the dataset, bro!"))
[1] "There are"                 "864894"                   
[3] "rows in the dataset, bro!"
Drop missing data
colSums(sapply(df.06071_deed, is.na))
                        FIPSCODE                 PROPERTYUNIQUEID 
                               0                                0 
                             APN                      MatchedFlag 
                              50                            66077 
                     HOUSENUMBER                    DIRECTIONLEFT 
                          145766                           740323 
                      STREETNAME                           Suffix 
                           93923                           112561 
                        UNITTYPE                       UNITNUMBER 
                          839394                           839661 
                            CITY                            STATE 
                           17709                               50 
                         ZIPCODE                         ZIPPLUS4 
                           18089                           224280 
                     CARRIERCODE               CORPORATEINDICATOR 
                          224166                           755489 
          BUYERNAMEBORROWERNAME1                     OWNERETALIND 
                            3292                           809418 
                 OwnerCAREOfNAME             OWNERSHIPRIGHTSCODE1 
                          843502                           379196 
          OWNERRELATIONSHIPTYPE1           BUYERNAMEBORROWERNAME2 
                           76645                           509770 
            OWNERSHIPRIGHTSCODE2           OWNERRELATIONSHIPTYPE2 
                          731223                           450907 
                  BUYER1LASTNAME                  BUYER1FIRSTNAME 
                          172697                           173300 
                BUYER1MIDDLEName                     BUYER1SUFFIX 
                          438316                           838887 
                  BUYER2LASTNAME                  BUYER2FIRSTNAME 
                          511465                           511715 
                BUYER2MIDDLEName                  MAILHOUSENUMBER 
                          644471                           333451 
               MAILDIRECTIONLEFT                   MAILSTREETNAME 
                          765698                           287873 
                        MAILMODE                         MAILCITY 
                          355182                           288058 
                       MAILSTATE                      MAILZIPCODE 
                          288563                           288911 
                    MAILZIPPlus4                  MAILCARRIERCODE 
                          309186                           309148 
FirstAmericanUniqueTransactionID                    RECORDINGDATE 
                               0                                0 
                        SALEDATE                   DOCUMENTNUMBER 
                           71769                                0 
                    DOCUMENTTYPE                  TRANSACTIONTYPE 
                               0                            76811 
                      SELLERNAME          SELLERNAMECORPINDICATOR 
                          273845                           757883 
                     SELLERNAME2         SELLERNAME2CORPINDICATOR 
                          604486                           811699 
                      SALEAMOUNT                      TRANSFERTAX 
                          271503                           312942 
                      RESALEFLAG              NEWCONSTRUCTIONFLAG 
                          697858                           853476 
                 INTERFAMILYFLAG                   FORCLOSUREFLAG 
                          775826                           845377 
                     REOSALEFLAG       FIRSTMORTGAGERECORDINGDATE 
                          843621                           417318 
            FIRSTMORTGAGEDOCDATE      FIRSTMORTGAGEDOCUMENTNUMBER 
                          446677                           400913 
FIRSTMORTGAGEDETAILEDDOCUMENTTYP      FIRSTMORTGAGEMORTGAGEAMOUNT 
                          441172                            38825 
         FIRSTMORTGAGELENDERNAME        FIRSTMORTGAGELOANTYPECODE 
                          398469                           469318 
           FIRSTMORTGAGETERMCODE                FIRSTMORTGAGETERM 
                          530104                           530104 
            FIRSTMORTGAGEDUEDATE    FIRSTMORTGAGEINTERESTRATETYPE 
                          530104                           790480 
       FIRSTMORTGAGEINTERESTRATE FIRSTMORTGAGESELLERCARRYBACKFLAG 
                           64260                           854758 
 FIRSTMORTGAGEPRIVATEPARTYLENDER            FIRSTMORTGAGEREFIFLAG 
                          855051                           731562 
         FIRSTMORTGAGEEQUITYFLAG           FIRSTMORTGAGEHELOCFLAG 
                          820870                           830914 
FIRSTMORTGAGEOTHERSUBORDINATELOA     FIRSTMORTGAGESecondHomeRider 
                          787000                           851911 
   FIRSTMORTGAGECondominiumRider   FIRSTMORTGAGEMultiFamily4Rider 
                          852260                           834025 
FIRSTMORTGAGEPlannedUnitDevelopm   FIRSTMORTGAGEAssumabilityRider 
                          835061                           851623 
 FIRSTMORTGAGEFixedStepRateRider FIRSTMORTGAGEAdjustableRateRider 
                          853795                           848794 
FIRSTMORTGAGEAdjustableRateIndex         FIRSTMORTGAGEChangeIndex 
                          831376                           838192 
FIRSTMORTGAGEFirstChangeDateMont FIRSTMORTGAGEFirstChangeDateYear 
                          837603                           835069 
FIRSTMORTGAGEMaximumInterestRate FIRSTMORTGAGEMinimumInterestRate 
                          835963                           843684 
FIRSTMORTGAGERateChangeFrequency             SECONDMORTGAGEAMOUNT 
                          797866                           311856 
 SECONDMORTGAGEMultiFamily4Rider SECONDMORTGAGEPlannedUnitDevelop 
                          849629                           849615 
                         LotCode                          LandLot 
                          801759                           112552 
                           Block                         District 
                          775505                           842045 
                            Unit         CityMunicipalityTownship 
                          822693                           222132 
                 SubdivisionName                          TractNo 
                          694435                           246035 
                    SecTwnRngMer                 LEGALDESCRIPTION 
                          777377                           731627 
                TITLECOMPANYNAME                         MULTIAPN 
                          128333                           781586 
                 UPDATETIMESTAMP                             UCID 
                              82                               82 
Inspect Data
df.06071_deed %>%
select(SALEAMOUNT, FIRSTMORTGAGEMORTGAGEAMOUNT, RECORDINGDATE, FIRSTMORTGAGERECORDINGDATE) %>%
  head()
#DocTypePercent <- as.data.table(count(df.06071_deed, DOCUMENTTYPE))
Document Type Freq
Transaction Type Freq
Inspect Ownership Rights Type
Inspect Owner Relationship Type
Inspect Transaction Type with Doc Type
Doc Type High Count
docHighCount <- df.06071_deed %>%
  select(DOCUMENTTYPE) %>%
  filter(DOCUMENTTYPE == "93" | DOCUMENTTYPE == "36" | DOCUMENTTYPE == "40" | DOCUMENTTYPE == "27" | DOCUMENTTYPE == "55" | DOCUMENTTYPE == "29" | DOCUMENTTYPE == "52")
plot.DocTypeHighCount <- ggplot(docHighCount, aes(DOCUMENTTYPE), options(scipen = 1000))
plot.DocTypeHighCount + geom_bar() + labs(title="Document Type - High Count")

Doc Type Mid Count
docMidCount <- df.06071_deed %>%
  select(DOCUMENTTYPE) %>%
  filter(DOCUMENTTYPE == "69" | DOCUMENTTYPE == "21" | DOCUMENTTYPE == "20" | DOCUMENTTYPE == "37" | DOCUMENTTYPE == "61" | DOCUMENTTYPE == "39" | DOCUMENTTYPE == "71" | DOCUMENTTYPE == "30")
plot.DocTypeMidCount <- ggplot(docMidCount, aes(DOCUMENTTYPE), options(scipen = 1000))
plot.DocTypeMidCount + geom_bar() + labs(title="Document Type - Mid Count")

LS0tDQp0aXRsZTogIlNCIENvdW50eSBEZWVkICYgTW9ydGdhZ2UgRURBICYgVmlzdWFsaXphdG9uIg0Kb3V0cHV0Og0KICBodG1sX25vdGVib29rOiBkZWZhdWx0DQogIGh0bWxfZG9jdW1lbnQ6IGRlZmF1bHQNCiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0DQotLS0NCg0KIyMjIyNJbXBvcnQgbGlicmFyaWVzDQpgYGB7cn0NCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KGRhdGEudGFibGUpDQpgYGANCg0KIyMjIyNJbXBvcnQgU2FuIEJlcm5hcmRpbm8gRGVlZCBNb3J0Z2FnZSBEYXRhDQpgYGB7cn0NCmRmLjA2MDcxX2RlZWQgPC0gcmVhZC5jc3YoIkM6L1VzZXJzL0phbWVzL0RvY3VtZW50cy9Nb2RlbHMvRGF0YVRyZWUvMDYwNzFfU2FuX0Jlcm5hcmRpbm8vMDYwNzFfRGVlZC5jc3YiLCBjb2xDbGFzc2VzPSJjaGFyYWN0ZXIiICwgbmEuc3RyaW5ncz1jKCIiLCIgIiwiTkEiKSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKQ0KcHJpbnQoYygiVGhlcmUgYXJlIiwgbnJvdyhkZi4wNjA3MV9kZWVkKSwgInJvd3MgaW4gdGhlIGRhdGFzZXQsIGJybyEiKSkNCmBgYA0KDQoNCiMjIyMjRHJvcCBtaXNzaW5nIGRhdGENCmBgYHtyfQ0KY29sU3VtcyhzYXBwbHkoZGYuMDYwNzFfZGVlZCwgaXMubmEpKQ0KI1RocmVzaG9sZCBhdCA5OSUgbWlzc2luZyB0byBjbGFzc2lmeSBhcyBtaXNzaW5nIGZlYXR1cmUNCm5vbk1pc3NpbmdGZWF0dXJlcyA8LSBjb2xuYW1lcyhkZi4wNjA3MV9kZWVkKVsoY29sU3Vtcyhpcy5uYShkZi4wNjA3MV9kZWVkKSkgLyAobnJvdyhkZi4wNjA3MV9kZWVkKSkgPCAuOTkpXQ0KZGYuMDYwNzFfZGVlZCA8LSBzZWxlY3QoZGYuMDYwNzFfZGVlZCwgbm9uTWlzc2luZ0ZlYXR1cmVzKQ0KYGBgDQoNCiMjIyMjSW5zcGVjdCBEYXRhDQpgYGB7cn0NCmRmLjA2MDcxX2RlZWQgJT4lDQpzZWxlY3QoU0FMRUFNT1VOVCwgRklSU1RNT1JUR0FHRU1PUlRHQUdFQU1PVU5ULCBSRUNPUkRJTkdEQVRFLCBGSVJTVE1PUlRHQUdFUkVDT1JESU5HREFURSkgJT4lDQogIGhlYWQoKQ0KI0RvY1R5cGVQZXJjZW50IDwtIGFzLmRhdGEudGFibGUoY291bnQoZGYuMDYwNzFfZGVlZCwgRE9DVU1FTlRUWVBFKSkNCmBgYA0KDQojIyMjI0RvY3VtZW50IFR5cGUgRnJlcQ0KDQoqIDkzID0gU3RhbmRhbG9uZSBNb3J0Z2FnZQ0KKiA0MCA9IEludHJhZmFtaWx5IFRyYW5zZmVyIGFuZCBEaXNzb2x1dGlvbg0KKiAzNiA9IEdyYW50IERlZWQNCiogMjcgPSBEZWVkDQoqIDU1ID0gUXVpdCBDbGFpbSBEZWVkDQoqIDI5ID0gQWZmaWRhdml0IG9mIERlYXRoIG9mIEpvaW4gVGVuYW50DQoqIDUyID0gUHVibGljIEFjdGlvbiAtIENvbW1vbiBpbiBGbG9yaWRhIChDbGVya3MgVGF4IERlZWQgb3IgVGF4IERlZWRzIG9yIFByb3BlcnR5IHNvbGQgZm9yIFRheGVzKQ0KDQpgYGBge3J9DQpEb2NUeXBlRnJlcSA8LSBkYXRhLnRhYmxlKHRhYmxlKGRmLjA2MDcxX2RlZWQkRE9DVU1FTlRUWVBFKSkNCmNvbG5hbWVzKERvY1R5cGVGcmVxKSA8LSBjKCJEb2NUeXBlIiwgImNvdW50IikNCkRvY1R5cGVGcmVxIDwtIGFycmFuZ2UoRG9jVHlwZUZyZXEsIGRlc2MoY291bnQpKQ0KRG9jVHlwZUZyZXEgDQpgYGANCg0KIyMjIyNUcmFuc2FjdGlvbiBUeXBlIEZyZXENCmBgYHtyfQ0KVHJhbnNUeXBlRnJlcSA8LSBkYXRhLnRhYmxlKHRhYmxlKGRmLjA2MDcxX2RlZWQkVFJBTlNBQ1RJT05UWVBFKSkNCmNvbG5hbWVzKFRyYW5zVHlwZUZyZXEpIDwtIGMoIlRyYW5zVHlwZSIsICJjb3VudCIpDQpUcmFuc1R5cGVGcmVxIDwtIGFycmFuZ2UoVHJhbnNUeXBlRnJlcSwgZGVzYyhjb3VudCkpDQpUcmFuc1R5cGVGcmVxDQpgYGANCg0KIyMjIyNJbnNwZWN0IE93bmVyc2hpcCBSaWdodHMgVHlwZSANCmBgYGB7cn0NCk93bmVyUmlnaHRzRnJlcSA8LSBkYXRhLnRhYmxlKHRhYmxlKGRmLjA2MDcxX2RlZWQkT1dORVJTSElQUklHSFRTQ09ERTEpKQ0KY29sbmFtZXMoT3duZXJSaWdodHNGcmVxKSA8LSBjKCJPd25lclJpZ2h0c1R5cGUiLCAiY291bnQiKQ0KT3duZXJSaWdodHNGcmVxIDwtIGFycmFuZ2UoT3duZXJSaWdodHNGcmVxLCBkZXNjKGNvdW50KSkNCk93bmVyUmlnaHRzRnJlcQ0KDQpgYGANCg0KIyMjIyNJbnNwZWN0IE93bmVyIFJlbGF0aW9uc2hpcCBUeXBlIA0KYGBgYHtyfQ0KT3duZXJSZWxhdGlvbnNoaXBGcmVxIDwtIGRhdGEudGFibGUodGFibGUoZGYuMDYwNzFfZGVlZCRPV05FUlJFTEFUSU9OU0hJUFRZUEUxKSkNCmNvbG5hbWVzKE93bmVyUmVsYXRpb25zaGlwRnJlcSkgPC0gYygiT3duZXJSZWxhdGlvblR5cGUiLCAiY291bnQiKQ0KT3duZXJSZWxhdGlvbnNoaXBGcmVxIDwtIGFycmFuZ2UoT3duZXJSZWxhdGlvbnNoaXBGcmVxLCBkZXNjKGNvdW50KSkNCk93bmVyUmVsYXRpb25zaGlwRnJlcQ0KDQpgYGANCg0KIyMjIyNJbnNwZWN0IFRyYW5zYWN0aW9uIFR5cGUgd2l0aCBEb2MgVHlwZQ0KYGBgYHtyfQ0KRG9jVHJhbnNhY3Rpb25GcmVxIDwtIGRhdGEudGFibGUodGFibGUoZGYuMDYwNzFfZGVlZCRET0NVTUVOVFRZUEUsIGRmLjA2MDcxX2RlZWQkVFJBTlNBQ1RJT05UWVBFKSkNCmNvbG5hbWVzKERvY1RyYW5zYWN0aW9uRnJlcSkgPC0gYygiRG9jVHlwZSIsICJUcmFuc2FjdGlvblR5cGUiLCAiY291bnQiKQ0KRG9jVHJhbnNhY3Rpb25GcmVxIDwtIGFycmFuZ2UoRG9jVHJhbnNhY3Rpb25GcmVxLCBkZXNjKGNvdW50KSkNCkRvY1RyYW5zYWN0aW9uRnJlcQ0KYGBgDQoNCiMjIyMjRG9jIFR5cGUgSGlnaCBDb3VudA0KKiA5MyA9IFN0YW5kYWxvbmUgTW9ydGdhZ2UNCiogNDAgPSBJbnRyYWZhbWlseSBUcmFuc2ZlciBhbmQgRGlzc29sdXRpb24NCiogMzYgPSBHcmFudCBEZWVkDQoqIDI3ID0gRGVlZA0KKiA1NSA9IFF1aXQgQ2xhaW0gRGVlZA0KKiAyOSA9IEFmZmlkYXZpdCBvZiBEZWF0aCBvZiBKb2luIFRlbmFudA0KKiA1MiA9IFB1YmxpYyBBY3Rpb24gLSBDb21tb24gaW4gRmxvcmlkYSAoQ2xlcmtzIFRheCBEZWVkIG9yIFRheCBEZWVkcyBvciBQcm9wZXJ0eSBzb2xkIGZvciBUYXhlcykNCmBgYHtyfQ0KZG9jSGlnaENvdW50IDwtIGRmLjA2MDcxX2RlZWQgJT4lDQogIHNlbGVjdChET0NVTUVOVFRZUEUpICU+JQ0KICBmaWx0ZXIoRE9DVU1FTlRUWVBFID09ICI5MyIgfCBET0NVTUVOVFRZUEUgPT0gIjM2IiB8IERPQ1VNRU5UVFlQRSA9PSAiNDAiIHwgRE9DVU1FTlRUWVBFID09ICIyNyIgfCBET0NVTUVOVFRZUEUgPT0gIjU1IiB8IERPQ1VNRU5UVFlQRSA9PSAiMjkiIHwgRE9DVU1FTlRUWVBFID09ICI1MiIpDQpwbG90LkRvY1R5cGVIaWdoQ291bnQgPC0gZ2dwbG90KGRvY0hpZ2hDb3VudCwgYWVzKERPQ1VNRU5UVFlQRSksIG9wdGlvbnMoc2NpcGVuID0gMTAwMCkpDQpwbG90LkRvY1R5cGVIaWdoQ291bnQgKyBnZW9tX2JhcigpICsgbGFicyh0aXRsZT0iRG9jdW1lbnQgVHlwZSAtIEhpZ2ggQ291bnQiKQ0KYGBgDQoNCg0KIyMjIyNEb2MgVHlwZSBNaWQgQ291bnQNCmBgYHtyfQ0KZG9jTWlkQ291bnQgPC0gZGYuMDYwNzFfZGVlZCAlPiUNCiAgc2VsZWN0KERPQ1VNRU5UVFlQRSkgJT4lDQogIGZpbHRlcihET0NVTUVOVFRZUEUgPT0gIjY5IiB8IERPQ1VNRU5UVFlQRSA9PSAiMjEiIHwgRE9DVU1FTlRUWVBFID09ICIyMCIgfCBET0NVTUVOVFRZUEUgPT0gIjM3IiB8IERPQ1VNRU5UVFlQRSA9PSAiNjEiIHwgRE9DVU1FTlRUWVBFID09ICIzOSIgfCBET0NVTUVOVFRZUEUgPT0gIjcxIiB8IERPQ1VNRU5UVFlQRSA9PSAiMzAiKQ0KcGxvdC5Eb2NUeXBlTWlkQ291bnQgPC0gZ2dwbG90KGRvY01pZENvdW50LCBhZXMoRE9DVU1FTlRUWVBFKSwgb3B0aW9ucyhzY2lwZW4gPSAxMDAwKSkNCnBsb3QuRG9jVHlwZU1pZENvdW50ICsgZ2VvbV9iYXIoKSArIGxhYnModGl0bGU9IkRvY3VtZW50IFR5cGUgLSBNaWQgQ291bnQiKQ0KYGBgDQo=