# A tibble: 6 x 27
     id  year state_abbr offense_code offense_name          agencies population
  <int> <int> <chr>      <chr>        <chr>                    <int>      <int>
1  1081  2016 NA         ASR_ARSON    Arson                    13310  264534532
2  1082  2016 NA         ASR_AST      Aggravated Assault       13310  264534532
3  1083  2016 NA         ASR_AST_SMP  Simple Assault           13310  264534532
4  1084  2016 NA         ASR_BRG      Burglary                 13310  264534532
5  1085  2016 NA         ASR_CUR      Curfew and Loitering~    13310  264534532
6  1086  2016 NA         ASR_DIS      Disorderly Conduct       13310  264534532
# ... with 20 more variables: total_male <int>, total_female <int>,
#   m_0_9 <int>, m_10_12 <int>, m_13_14 <int>, m_15 <int>, m_16 <int>,
#   m_17 <int>, f_0_9 <int>, f_10_12 <int>, f_13_14 <int>, f_15 <int>,
#   f_16 <int>, f_17 <int>, race_agencies <int>, race_population <int>,
#   white <int>, black <int>, asian_pacific_islander <int>,
#   american_indian <int>
data frame with 0 columns and 0 rows
arst$state_abbr <- NULL 
str(arst)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   690 obs. of  26 variables:
 $ id                    : int  1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 ...
 $ year                  : int  2016 2016 2016 2016 2016 2016 2016 2016 2016 2016 ...
 $ offense_code          : chr  "ASR_ARSON" "ASR_AST" "ASR_AST_SMP" "ASR_BRG" ...
 $ offense_name          : chr  "Arson" "Aggravated Assault" "Simple Assault" "Burglary" ...
 $ agencies              : int  13310 13310 13310 13310 13310 13310 13310 13310 13310 13310 ...
 $ population            : int  264534532 264534532 264534532 264534532 264534532 264534532 264534532 264534532 264534532 264534532 ...
 $ total_male            : int  1760 16997 66360 23307 19218 34438 61781 2746 3913 343 ...
 $ total_female          : int  328 5918 38712 3071 8319 19449 18503 1120 1345 207 ...
 $ m_0_9                 : int  117 141 1043 167 110 431 76 14 10 NA ...
 $ m_10_12               : int  368 1406 7406 1474 1184 3428 1323 15 8 6 ...
 $ m_13_14               : int  548 3743 16966 5301 4160 9021 7443 232 49 39 ...
 $ m_15                  : int  291 3062 12403 4789 4405 6690 9284 333 171 33 ...
 $ m_16                  : int  239 3839 14134 5662 5126 7553 16479 632 923 90 ...
 $ m_17                  : int  197 4806 14408 5914 4233 7315 27176 1520 2752 175 ...
 $ f_0_9                 : int  12 19 259 34 24 80 22 1 3 NA ...
 $ f_10_12               : int  54 465 3353 170 449 1682 447 20 3 NA ...
 $ f_13_14               : int  114 1565 11210 727 1991 5883 2977 185 25 5 ...
 $ f_15                  : int  66 1171 8036 618 1887 4114 3084 196 64 17 ...
 $ f_16                  : int  39 1337 8264 689 2267 4049 4709 292 341 69 ...
 $ f_17                  : int  43 1361 7590 833 1701 3641 7264 426 909 116 ...
 $ race_agencies         : int  12581 12581 12581 12581 12581 12581 12581 12581 12581 12581 ...
 $ race_population       : int  263887632 263887632 263887632 263887632 263887632 263887632 263887632 263887632 263887632 263887632 ...
 $ white                 : int  1436 12370 59778 14413 15468 28572 59418 3173 4608 320 ...
 $ black                 : int  516 9736 41923 11082 11045 23619 17572 380 352 208 ...
 $ asian_pacific_islander: int  41 296 1130 368 382 416 1176 54 91 12 ...
 $ american_indian       : int  48 364 1378 362 429 892 1277 206 132 7 ...
 - attr(*, "spec")=List of 2
  ..$ cols   :List of 27
  .. ..$ id                    : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ year                  : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ state_abbr            : list()
  .. .. ..- attr(*, "class")= chr  "collector_character" "collector"
  .. ..$ offense_code          : list()
  .. .. ..- attr(*, "class")= chr  "collector_character" "collector"
  .. ..$ offense_name          : list()
  .. .. ..- attr(*, "class")= chr  "collector_character" "collector"
  .. ..$ agencies              : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ population            : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ total_male            : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ total_female          : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ m_0_9                 : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ m_10_12               : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ m_13_14               : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ m_15                  : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ m_16                  : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ m_17                  : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ f_0_9                 : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ f_10_12               : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ f_13_14               : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ f_15                  : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ f_16                  : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ f_17                  : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ race_agencies         : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ race_population       : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ white                 : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ black                 : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ asian_pacific_islander: list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  .. ..$ american_indian       : list()
  .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
  ..$ default: list()
  .. ..- attr(*, "class")= chr  "collector_guess" "collector"
  ..- attr(*, "class")= chr "col_spec"
missmap(arst, main = "Missing values vs observed")
the condition has length > 1 and only the first element will be usedUnknown or uninitialised column: 'arguments'.Unknown or uninitialised column: 'arguments'.Unknown or uninitialised column: 'imputations'.

arst <- na.omit(arst)
library(corrplot)
numeric.var <- sapply(arst, is.numeric)
corr.matrix <- cor(arst[,numeric.var])
corrplot(corr.matrix, main="\n\nCorrelation Plot for Numerical Variables", method="number")

library(VIM)
Loading required package: colorspace
Loading required package: data.table
data.table 1.11.4  Latest news: http://r-datatable.com

Attaching package: <U+393C><U+3E31>data.table<U+393C><U+3E32>

The following objects are masked from <U+393C><U+3E31>package:radiant.data<U+393C><U+3E32>:

    month, wday

The following objects are masked from <U+393C><U+3E31>package:lubridate<U+393C><U+3E32>:

    hour, isoweek, mday, minute, month, quarter, second, wday, week,
    yday, year

The following objects are masked from <U+393C><U+3E31>package:dplyr<U+393C><U+3E32>:

    between, first, last

The following object is masked from <U+393C><U+3E31>package:purrr<U+393C><U+3E32>:

    transpose

VIM is ready to use. 
 Since version 4.0.0 the GUI is in its own package VIMGUI.

          Please use the package to use the new (and old) GUI.

Suggestions and bug-reports can be submitted at: https://github.com/alexkowa/VIM/issues

Attaching package: <U+393C><U+3E31>VIM<U+393C><U+3E32>

The following object is masked from <U+393C><U+3E31>package:datasets<U+393C><U+3E32>:

    sleep
aggr_plot <- aggr(arst, col=c('salmon','light green'), numbers=TRUE, sortVars=TRUE, labels=names(arst), cex.axis=.7, gap=3, ylab=c("Histogram of missing data","Pattern"))

 Variables sorted by number of missings: 

o <- ggplot(data = arst, 
        aes(x =offense_code, y = black, 
            fill= offense_code))+ 
    geom_col() +
    coord_flip() +
    xlab("Juvenile Offenses") +  ylab("Black Juveniles")
o

z <- ggplot(data = arst, 
        aes(x =offense_code, y = white, fill = offense_code))+ 
    geom_col() +
    coord_flip() +
    xlab("Juvenile Offenses") +  ylab("White Juveniles")
z

grid.arrange(o,z)

arst %>%
  mutate(year = as.numeric(year))
LS0tDQp0aXRsZTogImp1dmVuaWxlIGNyaW1lIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBpbmNsdWRlPUZBTFNFLCBwYWdlZC5wcmludD1GQUxTRX0NCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShaZWxpZykNCmxpYnJhcnkodGV4cmVnKQ0KbGlicmFyeShtdnRub3JtKQ0KbGlicmFyeShyYWRpYW50LmRhdGEpDQpsaWJyYXJ5KHNqbWlzYykNCmxpYnJhcnkobGF0dGljZSkNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KFplbGlnQ2hvaWNlKQ0KbGlicmFyeShzdXJ2aXZhbCkNCmxpYnJhcnkoc2YpDQpsaWJyYXJ5KHNwZGVwKQ0KbGlicmFyeShkYXRhLndvcmxkKQ0KbGlicmFyeSh0bWFwdG9vbHMpDQpsaWJyYXJ5KHByaW50cikNCmxpYnJhcnkoc3RhcmdhemVyKQ0KbGlicmFyeShwbG90bHkpDQpsaWJyYXJ5KGtuaXRyKQ0KbGlicmFyeShyZWFkeGwpDQpsaWJyYXJ5KGdyaWQpDQpsaWJyYXJ5KGdyaWRFeHRyYSkNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShtYWdyaXR0cikNCmxpYnJhcnkoQW1lbGlhKQ0KbGlicmFyeShsbWU0KQ0KbGlicmFyeShndG9vbHMpDQpsaWJyYXJ5KHRpbnl0ZXgpDQpgYGANCg0KDQpgYGB7ciBlY2hvPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBwYWdlZC5wcmludD1GQUxTRX0NCmFyc3QgPC0gcmVhZF9jc3YoIi9Vc2Vycy9yYWNydXovRGVza3RvcC9hcnJlc3QuY3N2IikNCmhlYWQoYXJzdCkNCnN1bW1hcmlzZShhcnN0KQ0KYGBgDQoNCmBgYHtyfQ0KYXJzdCRzdGF0ZV9hYmJyIDwtIE5VTEwgDQpgYGANCg0KYGBge3J9DQpzdHIoYXJzdCkNCmBgYA0KDQpgYGB7cn0NCm1pc3NtYXAoYXJzdCwgbWFpbiA9ICJNaXNzaW5nIHZhbHVlcyB2cyBvYnNlcnZlZCIpDQpgYGANCmBgYHtyfQ0KYXJzdCA8LSBuYS5vbWl0KGFyc3QpDQpgYGANCg0KDQpgYGB7cn0NCmxpYnJhcnkoY29ycnBsb3QpDQpudW1lcmljLnZhciA8LSBzYXBwbHkoYXJzdCwgaXMubnVtZXJpYykNCmNvcnIubWF0cml4IDwtIGNvcihhcnN0WyxudW1lcmljLnZhcl0pDQpjb3JycGxvdChjb3JyLm1hdHJpeCwgbWFpbj0iXG5cbkNvcnJlbGF0aW9uIFBsb3QgZm9yIE51bWVyaWNhbCBWYXJpYWJsZXMiLCBtZXRob2Q9Im51bWJlciIpDQpgYGANCg0KDQpgYGB7cn0NCmxpYnJhcnkoVklNKQ0KYWdncl9wbG90IDwtIGFnZ3IoYXJzdCwgY29sPWMoJ3NhbG1vbicsJ2xpZ2h0IGdyZWVuJyksIG51bWJlcnM9VFJVRSwgc29ydFZhcnM9VFJVRSwgbGFiZWxzPW5hbWVzKGFyc3QpLCBjZXguYXhpcz0uNywgZ2FwPTMsIHlsYWI9YygiSGlzdG9ncmFtIG9mIG1pc3NpbmcgZGF0YSIsIlBhdHRlcm4iKSkNCmBgYA0KDQoNCg0KDQoNCmBgYHtyfQ0KbyA8LSBnZ3Bsb3QoZGF0YSA9IGFyc3QsIA0KICAgICAgICBhZXMoeCA9b2ZmZW5zZV9jb2RlLCB5ID0gYmxhY2ssIA0KICAgICAgICAgICAgZmlsbD0gb2ZmZW5zZV9jb2RlKSkrIA0KICAgIGdlb21fY29sKCkgKw0KICAgIGNvb3JkX2ZsaXAoKSArDQogICAgeGxhYigiSnV2ZW5pbGUgT2ZmZW5zZXMiKSArICB5bGFiKCJCbGFjayBKdXZlbmlsZXMiKQ0KDQpvDQpgYGANCg0KDQpgYGB7cn0NCnogPC0gZ2dwbG90KGRhdGEgPSBhcnN0LCANCiAgICAgICAgYWVzKHggPW9mZmVuc2VfY29kZSwgeSA9IHdoaXRlLCBmaWxsID0gb2ZmZW5zZV9jb2RlKSkrIA0KICAgIGdlb21fY29sKCkgKw0KICAgIGNvb3JkX2ZsaXAoKSArDQogICAgeGxhYigiSnV2ZW5pbGUgT2ZmZW5zZXMiKSArICB5bGFiKCJXaGl0ZSBKdXZlbmlsZXMiKQ0KDQp6DQpgYGANCg0KDQpgYGB7cn0NCmdyaWQuYXJyYW5nZShvLHopDQpgYGANCg0KDQoNCg0KYGBge3J9DQphcnN0ICU+JQ0KICBtdXRhdGUoeWVhciA9IGFzLm51bWVyaWMoeWVhcikpDQpgYGANCg0KDQoNCg0KDQoNCg==