第五章 結論及討論
第二節 討論
本次研究提供了更方便、有效的系統,讓使用者可以依照自己的需求去 選擇關心的變數,而研究成果雖然可以看出臺灣 20 個縣市的危險程度,但 只以縣市做為分析單位仍然過於粗略,若使用者想從更多社會議題為參考面 向,就需要各鄉鎮或鄰里及偏遠地區更精細的資料蒐集;而警政統計查詢網 公開的資料中,例如金門縣、連江縣,還有少部分資料登記不詳,也無鄉鎮 鄰里及偏遠地區的統計資訊,未來政府及警政署的開放平台若能提供更多詳 細資料,便有利於我們更新更精細的資料呈現在地圖上。
而研究成果是將各縣市分析後的資料依照排名分為普通、不良、危險三 個等級,起初以Server 架構地圖右上角的標籤時,三個等級的排序錯亂而並 不是以危險程度依序由上而下,因為 R 程式會以中文筆劃多寡由少至多排 序,所以我們在三個等級前分別加入數字,R 程式會以數字排序「1 普通」、
「2 不良」、「3 危險」呈現在地圖右上角的標籤;顯色方面,排名縣市時想 以漸層色呈現在地圖上,但由於顏色區隔太小導致顏色過於相近不易辨識,
所以我們將 20 個縣市的排名以 3 種顏色由淺至深分組歸類,讓使用者更利 於辨識結果。
現在是個科技及網路發達的時代,大部分民眾都會使用3C 類的科技產 品來連線上網,舉凡蒐集資料、教學式平台互動、網路購物...等等,都能用 網路達到目的,甚至是國家的資訊都能在網路世界輕鬆獲取,形成一個全球 性公共空間,卻也延伸出許多網路犯罪議題,而目前警政統計查詢網的資料 只有登記現實面的犯罪細分類統計,暫無網路犯罪的細分類統計,希望政府 能增加更多網路犯罪資料,利於我們將來更新程式後給予使用者更多元性的 犯罪資料。
附錄一 程式碼
server <- function(input, output) { buttom<-eventReactive(input$zoomButton,{
#選變數
df = data.frame(subject=c("故意殺人","擄人勒贖","強盜","搶奪","重傷害","重大恐嚇取財","強制 性交","重大竊盜","普通竊盜","汽車竊盜","機車竊盜","一般傷害","一般恐嚇取財","詐欺","對幼性交","性 侵害","車禍件數","車禍死亡人數","車禍受傷人數","道路交通事故","一般道路超速","飆車","違規停車","違 規轉彎","闖紅燈","未繫安全帶","未戴安全帽","其他原因","取締件數","移送法辦件數","酒後車禍件數","酒 後車禍死亡","酒後車禍受傷"),id=c(1:33))
Ind.v<-(df %>% filter(subject %in%
c(input$in1,input$in2,input$in3,input$in4,input$in5,input$in6)) %>% select(id)) #選年分
dff =
data.frame(subjectt=c("Y7","Y8","Y9","Y0","Y1","Y2","Y3","Y4","Y5","Y6"),idd=c(97:106) )
YY<-(dff %>% filter(idd %in% (input$slider2[1]:input$slider2[2])) %>%
select(subjectt)) #表格整理
data <- read.csv("d:/107.csv", header=T, sep=",")
year.array<-array(apply(as.matrix.noquote(data[5:26,2:331]),2,as.numeric),dim=c(22,33,10))
colnames(year.array)<-c("故意殺人","擄人勒贖","強盜","搶奪","重傷害","重大恐嚇取財","強制性 交","重大竊盜","普通竊盜","汽車竊盜","機車竊盜","一般傷害","一般恐嚇取財","詐欺","對幼性交","性侵 害","車禍件數","車禍死亡人數","車禍受傷人數","道路交通事故","一般道路超速","飆車","違規停車","違規 轉彎","闖紅燈","未繫安全帶","未戴安全帽","其他原因","取締件數","移送法辦件數","酒後車禍件數","酒後 車禍死亡","酒後車禍受傷")
rownames(year.array)<-c("新北市","臺北市","桃園市","臺中市","臺南市","高雄市","宜蘭縣","新 竹縣","苗栗縣","彰化縣","南投縣","雲林縣","嘉義縣","屏東縣","臺東縣","花蓮縣","澎湖縣","基隆市","
新竹市","嘉義市","金門縣","連江縣")
Year<-list(Y6=year.array[,,1],Y5=year.array[,,2],Y4=year.array[,,3],Y3=year.array[,,4],Y2=ye
ar.array[,,5],Y1=year.array[,,6],Y0=year.array[,,7],Y9=year.array[,,8],Y8=year.array[,
boundary<-matrix(qu);rownames(boundary)=c("Q0","Q1","Q2","Q3","Q4") boundary;Y.sum.pca.point<-Year.x*(-1)
}else{
Y.pca.rot<-(Y.pca$rotation)[,which(Y.pca$sdev^2>=1)]
Y.pca.rot.m<-as.matrix(Y.pca.rot) #sum(pca)
Y.sum.pca<-numeric(length(Ind.v$id));for(i in 0:(length(Ind.v$id)-1)){Y.sum.pca[i+1] <- sum(Y.pca.rot.m[i+1,])}
#如 qwe<-matrix(c(1,2,1,2,4,3,5,1,6),3,3);ewq<-c(2,1,1);qwe*ewq Y.pca.point<-t(Y.z)*Y.sum.pca
Y.sum.pca.point<-numeric(20);for(i in 0:19){Y.sum.pca.point[i+1] <- sum(Y.pca.point[,i+1])}
qu<-quantile(Y.sum.pca.point)
boundary<-matrix(qu);rownames(boundary)=c("Q0","Q1","Q2","Q3","Q4") boundary<-sort(boundary,decreasing=T)
}
return(Y.sum.pca.point)
})
output$myMap <- renderLeaflet({
city2=as.vector(unlist(buttom())) Rank=floor(rank(city2))
COUNTYENG=c("New Taipei City","Taipei City","Taoyuan City","Taichung City","Tainan City",
"Kaohsiung City","Yilan County","Hsinchu County","Miaoli County","Changhua County",
"Nantou County","Yunlin County","Chiayi County","Pingtung County","Taitung County",
"Hualien County","Penghu County","Keelung City","Hsinchu City","Chiayi City")
TWN = readOGR("COUNTY_MOI_1070516.shp", layer = "COUNTY_MOI_1070516", use_iconv = T, encoding="UTF-8") %>% spTransform(CRS("+proj=longlat +datum=WGS84"))
list<-c ("New Taipei City","Taipei City","Taoyuan City" ,"Hsinchu County", "Hsinchu City","Miaoli County" , "Taichung City","Changhua County" , "Yunlin County" ,"Chiayi City" ,"Chiayi County","Tainan City" , "Kaohsiung City","Pingtung County" ,"Taitung County","Hualien County", "Keelung City","Yilan County" ,"Nantou County","Penghu County") Rarea2<-subset(TWN, COUNTYENG %in% list)
aa=as.data.frame(cbind(COUNTYENG,(Rank))) aa[,2]=as.numeric(as.character(aa[,2])) colnames(aa)=c("COUNTYENG","Rank")
bb <-as.data.frame(read.table("Rank_YY.csv", header = TRUE, sep = ",")) cc <-as.data.frame(read.table("County_Chinese.csv", header = TRUE, sep = ","))
Rarea2@data<-left_join(Rarea2@data, aa,by=c("COUNTYENG")) Rarea2@data<-left_join(Rarea2@data, bb,by=c("Rank")) Rarea2@data<-left_join(Rarea2@data, cc,by=c("COUNTYENG")) #品質好壞比對顏色 右上角資訊比對英文拼音順序
pal=colorFactor("Reds",levels = c("1 普通","2 不良","3 危險"))
labels <- sprintf( "<strong>%s</strong> <strong>%s</strong> <br/>%g ", Rarea2@data $C_NAME, Rarea2@data$YY, Rarea2@data $Rank)%>%
lapply(htmltools::HTML)
map<- Rarea2@data %>%
leaflet() %>%
addTiles() %>%
setView(120.9739, 23.5, zoom = 8) %>%
addLegend(pal = colorFactor("Reds",levels = c("1 普通","2 不良","3 危險")), value= c("1 普通","2 不良","3 危險"), opacity = 1,title = "危險程度")%>%
addProviderTiles("Esri.WorldStreetMap",options = providerTileOptions(opacity = 0.35)) %>%
addPolygons(data=Rarea2 , fillColor = pal(Rarea2@data$YY) ,weight = 1,
smoothFactor = 0.5, opacity = 1.0, fillOpacity = 0.5,label = labels, 2,bringToFront = TRUE))
return(map) })
}
#側邊設計
ui=sidebar <- dashboardSidebar({
sidebarMenu(
menuItem(iconv("主程式",to="UTF-8"), tabName = "QPF_analysis0601", icon = icon("area-chart") ),
menuItem(iconv("關於",to="UTF-8"), tabName = "about", icon = icon("fa-address-book",class="fa fa-address-book") )
)})
#每個側邊設計對應的內容 ui=body <- dashboardBody({
tabItems(tabItem("QPF_analysis0601", fluidRow(column(width = 12,
),
fluidRow(column(width = 10),
column(width =2,h4("變數選擇")), fluidRow(column(width = 10,
box(leafletOutput('myMap', width = "100%", height
= 1087),width = NULL, solidHeader = TRUE, height = 1090)), column(width = 2,
checkboxGroupInput("in6", "酒後駕車", choices = c(
"取締件數","移送法辦件數","酒後車 禍件數","酒後車禍死亡","酒後車禍受傷"),
selected = c(1, 2, 3, 4) ),
actionButton("zoomButton", "開始查詢")
))
)
)# tabsetPanel )#tabItem
)#dashboardBody })
#主架構
ui=dashboardPage(
dashboardHeader(title = "危險都市"), sidebar,
body )
shinyApp(ui = ui, server = server)
附錄二 工作分配表
成員 負責項目
詹勳成 PCA 指令、Server 及 UI 串聯、Server 內文 王韋傑 UI、撰寫目的動機
陳港才 PCA 指令、PCA 解釋 唐秉宏 UI、撰寫資料蒐集及篩選
徐昀靖 Leaflet、地圖顯色解釋、撰寫研究成果部分 余宗憲 Leaflet、研究結論
曾少羿 UI、UI 內文
附錄三 社會責任認知與心得
姓 名 詹勳成 學 號 D0482028
社會責任認知與心得
這學期過的很快,不知不覺就到了期末,同時,專題也到了尾聲,雖然過程挺難熬的,
但回頭想想,還是覺得挺值得的。
在這專題裡,除了製作類似網站的互動式視覺化平台外,更多讓人覺得辛苦的是和同儕 之間的溝通。在談論溝通這件事之前,得先說說shiny這套件。我想,組內的成員也都是沒有 接觸過,但每個人付出多少時間、花多少心思,去了解這套件。其實,多少看得出來,尤其 每次週四要分配工作時,特別明顯。剛開始時,覺得還好,但越到後期,越不想接觸那些看 起來就沒花什麼心思在專題上的人,所以導致後來出現了一些很麻煩的問題。但是為了繼續 推前進度,我還是得解決那惱人的問題。所以,我真心感到哀怨,也覺得我有滿腹怨言,畢 竟專題是大家的,有人可以準時完成發派的任務,但有人不行,那問題究竟出在哪?後來我 把專題丟一旁,冷靜思過後,開始意識到,我是不是拿著「專題是大家的」這樣一件是情,
去強迫其他人,按時完成任務,或許強烈意識「這專題是我的」只有我而已,也造成我過分 看中結果,而沒注意他人的付出,或許下次,我該試著放寬心,與其他人溝通,也能省下那 些多餘的煩惱。
所以我說「意識到沒辦法強迫別人改變,但可以試著溝通」是在這次專題裡,
我覺得較大的收穫。而,除了這主觀上的心得外,我想另外還要談談客觀的責任問 題,在資料處理分析的過程,或許會想說刪掉什麼資料後會比較好做,但問題是,
我們要做的是互動式視覺化平台,是要給其他人使用的東西,並不是單純自己要 看,想了解而已,既然是要給及他人使用,資料處理就不能馬虎,畢竟這也算是一 種責任,別人使用我們的平台,我們就不能欺騙對方,所以我們得坐的就是盡量保 持資料的客觀以及完整程度。另外,我想也並不單純是這次專題我們需要做到而 已,在往後若一樣有繼續從事統計資料分析的相關行業,保持資料的客觀以及完整 程度,是每位資料處理者都須具備的基本責任。同樣的道理,當其他人具備這樣的 責任感,我們在使用別人處理的資料時,才能用的安心。
姓 名 王韋傑 學 號 D0433036 社會責任認知與心得
在一個社會中,分別由不同政府、企業、機構及個人組成,每個角色在社會都相當重要,
我們取之於社會,用之於社會,相同的我們也應該肩負社會責任回饋社會,像是政府的社會 責任是提供好的環境給國民,企業和機構在環境社會責任是提供自然環境永續發展,當一個 企業在追求企業利潤時可能會因為生產而造成污染以及碳排放,他們的社會責任盡可能減 少碳排放、努力地減少地球的污染以及積極的去增加森林,在社會方面,企業機構應該提供 給弱勢族群更多機會在這個社會上生存下去,而現在的我們雖然只是個大學生,在社會上可 能是一個很渺小的個體,但許多個體聚集起來的力量或許可能很強大,我們現在應該把自己 照顧好,不應作奸犯科,反而產生更多社會成本讓社會照顧我們,在更進一步,我們大學期 間所學的專業運用在未來的專長領域為社會貢獻,我們所肩負的社會責任可能會因為年紀 的增長而越來越重,但相對的能為社會貢獻的能力就越來越多,我相信我現在能肩負好我自 己的社會責任,繼續地走下去。
在這次的專題報告中,從最初的迷惘到做出一份專題,讓我感受最深的就是成就感與 感動,剛開始我們的想法是做出一個能夠可以給社會一個幫助的研究,但往往找尋主題方向 時候最難,我們花最久時間是討論主題以及方向,最後我們想出可以透過一個介面查詢到台 灣的犯罪治安資料,我們覺得犯罪治安在我們生活中有著很大的影響,希望能透過這次的專 題研究,運用自己在大學所學的統計技能去做出一個有意義能以及有價值的研究成果,相對 的也可以透過這次的專題去發現自己有所學習不足的地方,讓自己有機會補足專業能力。
對我來說幾個月前當我面對專題時他就像一個陌生的東西,我對於寫程式這一方面很 不在行,可能會懷疑自己的實力是否可以完成這份專題,但透過每個禮拜的專題時間,吸收 學習到不同的資訊以及討論我們各自的想法,我從不太熟悉,到後來完全了解做出一份專 題,發現自己沒有想像中的差,驗證出只要努力就可以達成目標。
姓 名 陳港才 學 號 D0425788 社會責任認知與心得
每一家企業、個人都活在社會中,取之於社會,用之於社會,大家也應該對社會負責。
每一家企業、個人都活在社會中,取之於社會,用之於社會,大家也應該對社會負責。