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