x <- read.csv("strays.csv", stringsAsFactors = TRUE)
#次數分配表

d <- table(x$type,x$county)
d
##     
##      南投縣 嘉義市 嘉義縣 基隆市 宜蘭縣 屏東縣 彰化縣 新北市 新竹市 新竹縣
##   狗    185      2      1     14      3     40      4    220     63      6
##   貓      3      0      0      1      0      0      0      0      0      0
##     
##      桃園市 澎湖縣 臺中市 臺北市 臺南市 臺東縣 花蓮縣 苗栗縣 金門縣 雲林縣
##   狗     71     15     10     71     92      3      2      3     49     23
##   貓      3      0      1     13      5      0      0      0      0      7
##     
##      高雄市
##   狗    171
##   貓      1
#百分比次數分配表
p.d <- prop.table(d,1)
p.d
##     
##            南投縣       嘉義市       嘉義縣       基隆市       宜蘭縣
##   狗 0.1765267176 0.0019083969 0.0009541985 0.0133587786 0.0028625954
##   貓 0.0882352941 0.0000000000 0.0000000000 0.0294117647 0.0000000000
##     
##            屏東縣       彰化縣       新北市       新竹市       新竹縣
##   狗 0.0381679389 0.0038167939 0.2099236641 0.0601145038 0.0057251908
##   貓 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000
##     
##            桃園市       澎湖縣       臺中市       臺北市       臺南市
##   狗 0.0677480916 0.0143129771 0.0095419847 0.0677480916 0.0877862595
##   貓 0.0882352941 0.0000000000 0.0294117647 0.3823529412 0.1470588235
##     
##            臺東縣       花蓮縣       苗栗縣       金門縣       雲林縣
##   狗 0.0028625954 0.0019083969 0.0028625954 0.0467557252 0.0219465649
##   貓 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.2058823529
##     
##            高雄市
##   狗 0.1631679389
##   貓 0.0294117647
#將次數變成百分比(乘以100)
p.d <- p.d*100
p.d
##     
##           南投縣      嘉義市      嘉義縣      基隆市      宜蘭縣      屏東縣
##   狗 17.65267176  0.19083969  0.09541985  1.33587786  0.28625954  3.81679389
##   貓  8.82352941  0.00000000  0.00000000  2.94117647  0.00000000  0.00000000
##     
##           彰化縣      新北市      新竹市      新竹縣      桃園市      澎湖縣
##   狗  0.38167939 20.99236641  6.01145038  0.57251908  6.77480916  1.43129771
##   貓  0.00000000  0.00000000  0.00000000  0.00000000  8.82352941  0.00000000
##     
##           臺中市      臺北市      臺南市      臺東縣      花蓮縣      苗栗縣
##   狗  0.95419847  6.77480916  8.77862595  0.28625954  0.19083969  0.28625954
##   貓  2.94117647 38.23529412 14.70588235  0.00000000  0.00000000  0.00000000
##     
##           金門縣      雲林縣      高雄市
##   狗  4.67557252  2.19465649 16.31679389
##   貓  0.00000000 20.58823529  2.94117647
#四捨五入至小數2位
p.d <- round(p.d,2)
p.d
##     
##      南投縣 嘉義市 嘉義縣 基隆市 宜蘭縣 屏東縣 彰化縣 新北市 新竹市 新竹縣
##   狗  17.65   0.19   0.10   1.34   0.29   3.82   0.38  20.99   6.01   0.57
##   貓   8.82   0.00   0.00   2.94   0.00   0.00   0.00   0.00   0.00   0.00
##     
##      桃園市 澎湖縣 臺中市 臺北市 臺南市 臺東縣 花蓮縣 苗栗縣 金門縣 雲林縣
##   狗   6.77   1.43   0.95   6.77   8.78   0.29   0.19   0.29   4.68   2.19
##   貓   8.82   0.00   2.94  38.24  14.71   0.00   0.00   0.00   0.00  20.59
##     
##      高雄市
##   狗  16.32
##   貓   2.94
#畫分組長條圖
barplot(p.d)

barplot(p.d, beside =T)

#加上圖例與上色
rownames(p.d)
## [1] "狗" "貓"
label <- rownames(p.d)
label
## [1] "狗" "貓"
barplot(p.d, 
        beside = T, 
        main = '各縣市流浪動物數量',
        sub = 'LITTLEg',
        legend.text =label, 
        
        col = c (23,60))

t <- table(x$type,x$size)
t
##     
##      BIG MEDIUM SMALL
##   狗 177    691   180
##   貓   4     22     8
#百分比次數分配表
p.t <- prop.table(t,1)
p.t
##     
##            BIG    MEDIUM     SMALL
##   狗 0.1688931 0.6593511 0.1717557
##   貓 0.1176471 0.6470588 0.2352941
#將次數變成百分比(乘以100)
p.t <- p.t*100
p.t
##     
##           BIG   MEDIUM    SMALL
##   狗 16.88931 65.93511 17.17557
##   貓 11.76471 64.70588 23.52941
#四捨五入至小數2位
p.t <- round(p.t,2)
p.t
##     
##        BIG MEDIUM SMALL
##   狗 16.89  65.94 17.18
##   貓 11.76  64.71 23.53
#畫分組長條圖
barplot(p.t)

barplot(p.t, beside =T)

#加上圖例與上色
rownames(p.t)
## [1] "狗" "貓"
label <- rownames(p.t)
label
## [1] "狗" "貓"
barplot(p.t, 
        beside = T, 
        legend.text =label, 
        main = '犬與貓的體型分析(初階)',
        sub = 'LITTLEg',
        col = c (12,16))

#畫圓餅圖
p.t
##     
##        BIG MEDIUM SMALL
##   狗 16.89  65.94 17.18
##   貓 11.76  64.71 23.53
f <- p.t[1,] # 狗狗資料
m <- p.t[2,] # 貓貓資料
f
##    BIG MEDIUM  SMALL 
##  16.89  65.94  17.18
m
##    BIG MEDIUM  SMALL 
##  11.76  64.71  23.53
# par()是圖形控制函數,mfrow = c(1,2)表示建立一個1x2的空間,用來呈現後續的圖
par( mfrow = c(1,2))
pie(f, main ="狗狗")
pie(m, main ="貓貓")

#畫圓餅圖並加上資料標籤
pie_category <- colnames(p.t)
pie_category
## [1] "BIG"    "MEDIUM" "SMALL"
f_label <- paste(pie_category, f,"%", sep = "")
f_label
## [1] "BIG16.89%"    "MEDIUM65.94%" "SMALL17.18%"
m_label <- paste(pie_category, m,"%", sep = "")
m_label
## [1] "BIG11.76%"    "MEDIUM64.71%" "SMALL23.53%"
par(mfrow = c(1,2))# c(1,2),表示建立一個1x2的空間,用來呈現後續的圖
pie(f, labels =  f_label, main = "狗狗")
pie(m, labels =  m_label, main = "貓貓" )

dev.off()  #離開par()
## null device 
##           1