#0415期中考
#讀入"strays.csv"
#一、各縣市流浪動物數量長條圖
#二、犬與貓的體型(或毛色)分析的長條圖
#三、犬與貓的體型(或毛色)分析的圓餅圖
install.packages("readr")#第一次使用需安裝
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.1'
## (as 'lib' is unspecified)
library(readr)
x <- read.csv("strays.csv", stringsAsFactors = TRUE)
summary(x)
## id type gender size color age
## Min. : 26250 狗:1048 F:534 BIG :181 咖啡色: 13 ADULT:886
## 1st Qu.: 50182 貓: 34 M:548 MEDIUM:713 白色 : 26 CHILD:196
## Median :129335 SMALL :188 花色 : 88
## Mean :120020 虎斑色:104
## 3rd Qu.:179406 黃色 :249
## Max. :248935 黑色 :602
##
## county
## 新北市 :220
## 南投縣 :188
## 高雄市 :172
## 臺南市 : 97
## 臺北市 : 84
## 桃園市 : 74
## (Other):247
#一、各縣市流浪動物數量長條圖
table(x$type)#算次數
##
## 狗 貓
## 1048 34
table(x$county)
##
## 南投縣 嘉義市 嘉義縣 基隆市 宜蘭縣 屏東縣 彰化縣 新北市 新竹市 新竹縣 桃園市
## 188 2 1 15 3 40 4 220 63 6 74
## 澎湖縣 臺中市 臺北市 臺南市 臺東縣 花蓮縣 苗栗縣 金門縣 雲林縣 高雄市
## 15 11 84 97 3 2 3 49 30 172
t <- table(x$type,x$county)
t
##
## 南投縣 嘉義市 嘉義縣 基隆市 宜蘭縣 屏東縣 彰化縣 新北市 新竹市 新竹縣
## 狗 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
barplot(t)

barplot(t, beside = T )

rownames(t)
## [1] "狗" "貓"
label <- rownames(t)
label#文字向量
## [1] "狗" "貓"
barplot(t,
beside =T ,
sub ="by 王逸倫",
legend.text = label ,
col = c(30,225),)

#二、犬與貓的體型(或毛色)分析的長條圖
table(x$color)
##
## 咖啡色 白色 花色 虎斑色 黃色 黑色
## 13 26 88 104 249 602
t.c <- table(x$type,x$color)
t.c
##
## 咖啡色 白色 花色 虎斑色 黃色 黑色
## 狗 13 26 75 93 246 595
## 貓 0 0 13 11 3 7
barplot(t.c)

barplot(t.c, beside = T )

rownames(t.c)
## [1] "狗" "貓"
label <- rownames(t)
label#文字向量
## [1] "狗" "貓"
barplot(t.c,
beside =T ,
sub ="by 王逸倫",
legend.text = label ,
col = c(30,225),)

#三、犬與貓的體型(或毛色)分析的圓餅圖
prop.table(table(x$color))#算百分比
##
## 咖啡色 白色 花色 虎斑色 黃色 黑色
## 0.01201479 0.02402957 0.08133087 0.09611830 0.23012939 0.55637708
t.c <- table(x$color,x$type)
t.c<- prop.table(t.c,2)
t.c
##
## 狗 貓
## 咖啡色 0.01240458 0.00000000
## 白色 0.02480916 0.00000000
## 花色 0.07156489 0.38235294
## 虎斑色 0.08874046 0.32352941
## 黃色 0.23473282 0.08823529
## 黑色 0.56774809 0.20588235
t.c <- t.c*100
t.c
##
## 狗 貓
## 咖啡色 1.240458 0.000000
## 白色 2.480916 0.000000
## 花色 7.156489 38.235294
## 虎斑色 8.874046 32.352941
## 黃色 23.473282 8.823529
## 黑色 56.774809 20.588235
t.c<- round(t.c,2)
t.c
##
## 狗 貓
## 咖啡色 1.24 0.00
## 白色 2.48 0.00
## 花色 7.16 38.24
## 虎斑色 8.87 32.35
## 黃色 23.47 8.82
## 黑色 56.77 20.59
f <- t.c[,1] # 女性資料
m <- t.c[,2] # 男性資料
f
## 咖啡色 白色 花色 虎斑色 黃色 黑色
## 1.24 2.48 7.16 8.87 23.47 56.77
m
## 咖啡色 白色 花色 虎斑色 黃色 黑色
## 0.00 0.00 38.24 32.35 8.82 20.59
pie(f, main = "狗勾")

pie(m, main = "喵咪")

#dev.off() #離開par()
#畫圓餅圖並加上資料標籤
pie_category <- rownames(t.c)
pie_category
## [1] "咖啡色" "白色" "花色" "虎斑色" "黃色" "黑色"
f_label <- paste(pie_category, f,"%", sep = "")
f_label
## [1] "咖啡色1.24%" "白色2.48%" "花色7.16%" "虎斑色8.87%" "黃色23.47%"
## [6] "黑色56.77%"
m_label <- paste(pie_category, m,"%", sep = "")
m_label
## [1] "咖啡色0%" "白色0%" "花色38.24%" "虎斑色32.35%" "黃色8.82%"
## [6] "黑色20.59%"
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