library(sunburstR)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
library(readr)
library(htmlwidgets)
data <- read_csv("~/Downloads/DATA VISUALIZATION/Final Project/master Data/All India level Person Arrested under Cyber Crime (IT Act + IPC Section) by Age Group during 2002-2011.csv")
## Rows: 176 Columns: 9
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): Category, Crime Head
## dbl (7): Below 18 Years, Between 18 - 30 Years, Between 30 -45 Years, Betwee...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Transform data to hierarchical structure
data_sunburst <- data %>%
  select(Category, `Crime Head`, Year, `Total (All Age Groups)`) %>%
  mutate(path = paste(Category, `Crime Head`, Year, sep = "-")) %>%
  select(path, total = `Total (All Age Groups)`)

head(data_sunburst)
## # A tibble: 6 × 2
##   path                                                                     total
##   <chr>                                                                    <dbl>
## 1 Offences under IT Act-Tampering Computer Source Department (Sec 65)-2002     7
## 2 Offences under IT Act-Hacking Computer Systems - i) Loss/ Damage to Com…     4
## 3 Offences under IT Act-Hacking Computer Systems - ii) Hacking (Sec 66(2)…    35
## 4 Offences under IT Act-Obscene Publication/ Transmission in Electronic F…    15
## 5 Offences under IT Act-Failure - i) of Compliance/ Orders of Certifying …     0
## 6 Offences under IT Act-Failure - ii) To Assist to Decoy or the Informati…     0
sunburst(data_sunburst, count = TRUE, percent = TRUE)
Legend
data_sunburst <- data %>%
  filter(Category != "Grand Total (Offences under IT Act + IPC)") %>%
  select(Year, Category, `Crime Head`, 
         `Below 18 Years`, `Between 18 - 30 Years`, 
         `Between 30 -45 Years`, `Between 45 - 60 Years`, 
         `Above 60 Years`) %>%
  pivot_longer(cols = c(`Below 18 Years`, `Between 18 - 30 Years`, 
                        `Between 30 -45 Years`, `Between 45 - 60 Years`, 
                        `Above 60 Years`),
               names_to = "Age_Group", 
               values_to = "Total_Arrested") %>%
  filter(Total_Arrested > 0) %>%
  mutate(path = paste(Year, Age_Group, Category, `Crime Head`, sep = "-")) %>%
  select(path, total = Total_Arrested)

# Preview your hierarchical data
head(data_sunburst)
## # A tibble: 6 × 2
##   path                                                                     total
##   <chr>                                                                    <dbl>
## 1 2002-Between 18 - 30 Years-Offences under IT Act-Tampering Computer Sou…     4
## 2 2002-Between 30 -45 Years-Offences under IT Act-Tampering Computer Sour…     3
## 3 2002-Between 18 - 30 Years-Offences under IT Act-Hacking Computer Syste…     4
## 4 2002-Between 18 - 30 Years-Offences under IT Act-Hacking Computer Syste…    28
## 5 2002-Between 30 -45 Years-Offences under IT Act-Hacking Computer System…     5
## 6 2002-Between 45 - 60 Years-Offences under IT Act-Hacking Computer Syste…     1
data_sunburst <- data %>%
  filter(Category != "Grand Total (Offences under IT Act + IPC)") %>%
  select(Category, `Crime Head`, Year, 
         `Below 18 Years`, `Between 18 - 30 Years`, 
         `Between 30 -45 Years`, `Between 45 - 60 Years`, 
         `Above 60 Years`) %>%
  pivot_longer(
    cols = c(`Below 18 Years`, `Between 18 - 30 Years`, 
             `Between 30 -45 Years`, `Between 45 - 60 Years`, 
             `Above 60 Years`),
    names_to = "Age_Group",
    values_to = "Total_Arrested"
  ) %>%
  filter(Total_Arrested > 0) %>% 
  mutate(path = paste(Category, `Crime Head`, Year, Age_Group, sep = "-")) %>%
  select(path, total = Total_Arrested)

head(data_sunburst)
## # A tibble: 6 × 2
##   path                                                                     total
##   <chr>                                                                    <dbl>
## 1 Offences under IT Act-Tampering Computer Source Department (Sec 65)-200…     4
## 2 Offences under IT Act-Tampering Computer Source Department (Sec 65)-200…     3
## 3 Offences under IT Act-Hacking Computer Systems - i) Loss/ Damage to Com…     4
## 4 Offences under IT Act-Hacking Computer Systems - ii) Hacking (Sec 66(2)…    28
## 5 Offences under IT Act-Hacking Computer Systems - ii) Hacking (Sec 66(2)…     5
## 6 Offences under IT Act-Hacking Computer Systems - ii) Hacking (Sec 66(2)…     1
nrow(data_sunburst)
## [1] 336
sunburst(data_sunburst, count = TRUE, percent = TRUE)
Legend