Data import and Data structure
Non-interactive graphs by ggplot2 package
#Call for Packages
library(tidyverse)
# data import
student <- read.csv("nenpou.csv", fileEncoding = "cp932")
# Calculation & Visualization using ggplot2
##all schools and depertment
student %>%
# data arrangement and Calculation section
mutate(kind = str_c("School of ",Schools,"_Dep of ",Departments)) %>%
group_by(year, kind) %>%
summarise(Total_Admission= sum(Number.of.Enrollment, na.rm = TRUE)) %>%
# Visualization by plotly section
ggplot(aes(x = year, y = Total_Admission, fill = kind))+
geom_bar(stat="identity", aes(fill=kind), color = "black")+
ggtitle("Number of Admissions")+ xlab(" year")+ylab("Admission")+
theme(legend.position="right",
#legend.text = element_text( size = 5),
#legend.key.size = unit(0.2, "cm"),
#legend.key.width = unit(0.2,"cm")
)

##selected dep geography
student %>%
# data arrangement and Calculation section
mutate(kind = str_c("School of ",Schools,"_Dep of ",Departments)) %>%
group_by(year, kind) %>%
summarise(Total_Admission= sum(Number.of.Enrollment, na.rm = TRUE)) %>%
filter(grepl("Geography", kind)) %>%
# Visualization by plotly section
ggplot(aes(x = year, y = Total_Admission, fill = kind))+
geom_bar(stat="identity", aes(fill=kind), color = "black")+
ggtitle("Number of Admissions")+ xlab(" year")+ylab("Admission")

##selected school of Evening of division
student %>%
# data arrangement and Calculation section
mutate(kind = str_c("School of ",Schools,"_Dep of ",Departments)) %>%
group_by(year, kind) %>%
summarise(Total_Admission= sum(Number.of.Enrollment, na.rm = TRUE)) %>%
filter(grepl("Evening", kind)) %>%
# Visualization by plotly section
ggplot(aes(x = year, y = Total_Admission, fill = kind))+
geom_bar(stat="identity", aes(fill=kind), color = "black")+
ggtitle("Number of Admissions")+ xlab(" year")+ylab("Admission")

Interactive Graph by Plotly
#Call for Packages
library(tidyverse)
library(plotly)
# data import
student <- read.csv("nenpou.csv", fileEncoding = "cp932")
# Calculation & Visualization
student %>%
# data arrangement and Calculation section
mutate(kind = str_c("School of ",Schools,"_Dep of ",Departments)) %>%
group_by(year, kind) %>%
summarise(Total_Admission= sum(Number.of.Enrollment, na.rm = TRUE)) %>%
# Visualization by plotly section
plot_ly(x =~ year, y =~ Total_Admission, hoverinfo = "text",
text =~ paste("</br>School and Department: ", kind,
"</br> year: ", year,
"</br> Number of Admission: ", Total_Admission),
type = "bar", name = ~kind, color = ~kind,
marker = list(line = list(width = 1,
color = "rgb(0, 0, 0)"))) %>%
layout(title = "Number of Admissions",
yaxis = list(title = "Admission"), barmode = "stack",
width = 1200, height = 600)
LS0tCnRpdGxlOiAiU3VwcGxlbWVudGFyeSBEb2N1bWVudCBmb3IgRFNJUjIwMTkiCmF1dGhvcjogIktlaXRhIE5pc2hpeWFtYSIKc3VidGl0bGU6ICIiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgY29kZV9kb3dubG9hZDogeWVzCiAgICAjIGNvZGVfZm9sZGluZzogaGlkZQogICAgaGlnaGxpZ2h0OiB6ZW5idXJuCiAgICB0aGVtZTogZmxhdGx5CiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICB3b3JkX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKLS0tCgpgYGB7ciBzZXR1cCxpbmNsdWRlPUZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUsIHdhcm5pbmcgPSBGQUxTRSwgbWVzc2FnZSA9IEZBTFNFLCBmaWcucmV0aW5hPTIpCmBgYAoKIyBEYXRhIGltcG9ydCBhbmQgRGF0YSBzdHJ1Y3R1cmUKYGBge3IsIGV2YWw9VFJVRX0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoRFQpCgojRGF0YSBpbXBvcnQgdG8gInN0dWRlbnQiIG9iamVjdApzdHVkZW50IDwtIHJlYWQuY3N2KCJuZW5wb3UuY3N2IiwgZmlsZUVuY29kaW5nID0gImNwOTMyIikKCiNpbnRlcmFjdGl2ZSB0YWJsZQpzdHVkZW50ICU+JSBzZWxlY3QoeWVhcjpOdW1iZXIub2YuRW5yb2xsbWVudCkgJT4lIAogIHJvd25hbWVzX3RvX2NvbHVtbigpICU+JSAKICBkYXRhdGFibGUoZmlsdGVyID0gInRvcCIsb3B0aW9ucyA9IGxpc3QoYXV0b1dpZHRoID0gVFJVRSkpCmBgYAoKIyBOb24taW50ZXJhY3RpdmUgZ3JhcGhzIGJ5IGdncGxvdDIgcGFja2FnZQpgYGB7ciwgZXZhbD1UUlVFLGZpZy53aWR0aD0yMCwgZmlnLmhlaWdodD0xNn0KI0NhbGwgZm9yIFBhY2thZ2VzCmxpYnJhcnkodGlkeXZlcnNlKQoKIyBkYXRhIGltcG9ydApzdHVkZW50IDwtIHJlYWQuY3N2KCJuZW5wb3UuY3N2IiwgZmlsZUVuY29kaW5nID0gImNwOTMyIikKCiMgQ2FsY3VsYXRpb24gJiBWaXN1YWxpemF0aW9uIHVzaW5nIGdncGxvdDIKIyNhbGwgc2Nob29scyBhbmQgZGVwZXJ0bWVudApzdHVkZW50ICU+JSAKICAjIGRhdGEgYXJyYW5nZW1lbnQgYW5kIENhbGN1bGF0aW9uIHNlY3Rpb24KICBtdXRhdGUoa2luZCA9IHN0cl9jKCJTY2hvb2wgb2YgIixTY2hvb2xzLCJfRGVwIG9mICIsRGVwYXJ0bWVudHMpKSAlPiUgCiAgZ3JvdXBfYnkoeWVhciwga2luZCkgJT4lIAogIHN1bW1hcmlzZShUb3RhbF9BZG1pc3Npb249IHN1bShOdW1iZXIub2YuRW5yb2xsbWVudCwgbmEucm0gPSBUUlVFKSkgJT4lIAogICMgVmlzdWFsaXphdGlvbiBieSBwbG90bHkgc2VjdGlvbgogIGdncGxvdChhZXMoeCA9IHllYXIsIHkgPSBUb3RhbF9BZG1pc3Npb24sIGZpbGwgPSBraW5kKSkrCiAgZ2VvbV9iYXIoc3RhdD0iaWRlbnRpdHkiLCBhZXMoZmlsbD1raW5kKSwgY29sb3IgPSAiYmxhY2siKSsKICBnZ3RpdGxlKCJOdW1iZXIgb2YgQWRtaXNzaW9ucyIpKyB4bGFiKCIgeWVhciIpK3lsYWIoIkFkbWlzc2lvbiIpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0icmlnaHQiLAogICAgICAgICNsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dCggc2l6ZSA9IDUpLCAKICAgICAgICAjbGVnZW5kLmtleS5zaXplID0gdW5pdCgwLjIsICJjbSIpLAogICAgICAgICNsZWdlbmQua2V5LndpZHRoID0gdW5pdCgwLjIsImNtIikgCiAgICAgICAgKQoKIyNzZWxlY3RlZCBkZXAgZ2VvZ3JhcGh5CnN0dWRlbnQgJT4lIAogICMgZGF0YSBhcnJhbmdlbWVudCBhbmQgQ2FsY3VsYXRpb24gc2VjdGlvbgogIG11dGF0ZShraW5kID0gc3RyX2MoIlNjaG9vbCBvZiAiLFNjaG9vbHMsIl9EZXAgb2YgIixEZXBhcnRtZW50cykpICU+JSAKICBncm91cF9ieSh5ZWFyLCBraW5kKSAlPiUgCiAgc3VtbWFyaXNlKFRvdGFsX0FkbWlzc2lvbj0gc3VtKE51bWJlci5vZi5FbnJvbGxtZW50LCBuYS5ybSA9IFRSVUUpKSAlPiUgCiAgZmlsdGVyKGdyZXBsKCJHZW9ncmFwaHkiLCBraW5kKSkgJT4lIAogICMgVmlzdWFsaXphdGlvbiBieSBwbG90bHkgc2VjdGlvbgogIGdncGxvdChhZXMoeCA9IHllYXIsIHkgPSBUb3RhbF9BZG1pc3Npb24sIGZpbGwgPSBraW5kKSkrCiAgZ2VvbV9iYXIoc3RhdD0iaWRlbnRpdHkiLCBhZXMoZmlsbD1raW5kKSwgY29sb3IgPSAiYmxhY2siKSsKICBnZ3RpdGxlKCJOdW1iZXIgb2YgQWRtaXNzaW9ucyIpKyB4bGFiKCIgeWVhciIpK3lsYWIoIkFkbWlzc2lvbiIpCgoKIyNzZWxlY3RlZCBzY2hvb2wgb2YgRXZlbmluZyBvZiBkaXZpc2lvbgpzdHVkZW50ICU+JSAKICAjIGRhdGEgYXJyYW5nZW1lbnQgYW5kIENhbGN1bGF0aW9uIHNlY3Rpb24KICBtdXRhdGUoa2luZCA9IHN0cl9jKCJTY2hvb2wgb2YgIixTY2hvb2xzLCJfRGVwIG9mICIsRGVwYXJ0bWVudHMpKSAlPiUgCiAgZ3JvdXBfYnkoeWVhciwga2luZCkgJT4lIAogIHN1bW1hcmlzZShUb3RhbF9BZG1pc3Npb249IHN1bShOdW1iZXIub2YuRW5yb2xsbWVudCwgbmEucm0gPSBUUlVFKSkgJT4lIAogIGZpbHRlcihncmVwbCgiRXZlbmluZyIsIGtpbmQpKSAlPiUgCiAgIyBWaXN1YWxpemF0aW9uIGJ5IHBsb3RseSBzZWN0aW9uCiAgZ2dwbG90KGFlcyh4ID0geWVhciwgeSA9IFRvdGFsX0FkbWlzc2lvbiwgZmlsbCA9IGtpbmQpKSsKICBnZW9tX2JhcihzdGF0PSJpZGVudGl0eSIsIGFlcyhmaWxsPWtpbmQpLCBjb2xvciA9ICJibGFjayIpKwogIGdndGl0bGUoIk51bWJlciBvZiBBZG1pc3Npb25zIikrIHhsYWIoIiB5ZWFyIikreWxhYigiQWRtaXNzaW9uIikKCmBgYAoKIyBJbnRlcmFjdGl2ZSBHcmFwaCBieSBQbG90bHkKYGBge3IsIGV2YWw9VFJVRX0KI0NhbGwgZm9yIFBhY2thZ2VzCmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KHBsb3RseSkKCiMgZGF0YSBpbXBvcnQKc3R1ZGVudCA8LSByZWFkLmNzdigibmVucG91LmNzdiIsIGZpbGVFbmNvZGluZyA9ICJjcDkzMiIpCgojIENhbGN1bGF0aW9uICYgVmlzdWFsaXphdGlvbgpzdHVkZW50ICU+JSAKICAjIGRhdGEgYXJyYW5nZW1lbnQgYW5kIENhbGN1bGF0aW9uIHNlY3Rpb24KICBtdXRhdGUoa2luZCA9IHN0cl9jKCJTY2hvb2wgb2YgIixTY2hvb2xzLCJfRGVwIG9mICIsRGVwYXJ0bWVudHMpKSAlPiUgCiAgZ3JvdXBfYnkoeWVhciwga2luZCkgJT4lIAogIHN1bW1hcmlzZShUb3RhbF9BZG1pc3Npb249IHN1bShOdW1iZXIub2YuRW5yb2xsbWVudCwgbmEucm0gPSBUUlVFKSkgJT4lIAogICMgVmlzdWFsaXphdGlvbiBieSBwbG90bHkgc2VjdGlvbgogIHBsb3RfbHkoeCA9fiB5ZWFyLCB5ID1+IFRvdGFsX0FkbWlzc2lvbiwgaG92ZXJpbmZvID0gInRleHQiLAogICAgICAgICAgdGV4dCA9fiBwYXN0ZSgiPC9icj5TY2hvb2wgYW5kIERlcGFydG1lbnQ6ICIsIGtpbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICI8L2JyPiB5ZWFyOiAiLCB5ZWFyLAogICAgICAgICAgICAgICAgICAgICAgICAiPC9icj4gTnVtYmVyIG9mIEFkbWlzc2lvbjogIiwgVG90YWxfQWRtaXNzaW9uKSwKICAgICAgICAgIHR5cGUgPSAiYmFyIiwgbmFtZSA9IH5raW5kLCBjb2xvciA9IH5raW5kLCAKICAgICAgICAgIG1hcmtlciA9IGxpc3QobGluZSA9IGxpc3Qod2lkdGggPSAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJyZ2IoMCwgMCwgMCkiKSkpICU+JSAKICBsYXlvdXQodGl0bGUgPSAiTnVtYmVyIG9mIEFkbWlzc2lvbnMiLAogICAgICAgICB5YXhpcyA9IGxpc3QodGl0bGUgPSAiQWRtaXNzaW9uIiksIGJhcm1vZGUgPSAic3RhY2siLAogICAgICAgICB3aWR0aCA9IDEyMDAsIGhlaWdodCA9IDYwMCkKCmBgYAoK