#下載資料:https://www.kaggle.com/hb20007/gender-classification?select=Transformed+Data+Set+-+Sheet1.csv
#檔名為"Transformed Data Set - Sheet1.csv"
#從電腦端上傳(upload)到rstudio cloud

install.packages("readr")#第一次使用需安裝
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.3'
## (as 'lib' is unspecified)
library(readr)#用library呼叫套件
#讀取資料,命名為"x"
x <- read.csv("favorite.csv", stringsAsFactors = TRUE)
#檢視資料前10筆
head(x,10)
##    Favorite.Color Favorite.Music.Genre Favorite.Beverage Favorite.Soft.Drink
## 1            Cool                 Rock             Vodka          7UP/Sprite
## 2         Neutral              Hip hop             Vodka     Coca Cola/Pepsi
## 3            Warm                 Rock              Wine     Coca Cola/Pepsi
## 4            Warm     Folk/Traditional           Whiskey               Fanta
## 5            Cool                 Rock             Vodka     Coca Cola/Pepsi
## 6            Warm           Jazz/Blues     Doesn't drink               Fanta
## 7            Cool                  Pop              Beer     Coca Cola/Pepsi
## 8            Warm                  Pop           Whiskey               Fanta
## 9            Warm                 Rock             Other          7UP/Sprite
## 10        Neutral                  Pop              Wine     Coca Cola/Pepsi
##    Gender
## 1       F
## 2       F
## 3       F
## 4       F
## 5       F
## 6       F
## 7       F
## 8       F
## 9       F
## 10      F
#查看資料結構與摘要
str(x)
## 'data.frame':    66 obs. of  5 variables:
##  $ Favorite.Color      : Factor w/ 3 levels "Cool","Neutral",..: 1 2 3 3 1 3 1 3 3 2 ...
##  $ Favorite.Music.Genre: Factor w/ 7 levels "Electronic","Folk/Traditional",..: 7 3 7 2 7 4 5 5 7 5 ...
##  $ Favorite.Beverage   : Factor w/ 6 levels "Beer","Doesn't drink",..: 4 4 6 5 4 2 1 5 3 6 ...
##  $ Favorite.Soft.Drink : Factor w/ 4 levels "7UP/Sprite","Coca Cola/Pepsi",..: 1 2 2 3 2 3 2 3 1 2 ...
##  $ Gender              : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
summary(x)
##  Favorite.Color       Favorite.Music.Genre     Favorite.Beverage
##  Cool   :37     Electronic      : 8        Beer         :13     
##  Neutral: 7     Folk/Traditional: 4        Doesn't drink:14     
##  Warm   :22     Hip hop         : 8        Other        :11     
##                 Jazz/Blues      : 4        Vodka        : 9     
##                 Pop             :17        Whiskey      : 9     
##                 R&B and soul    : 6        Wine         :10     
##                 Rock            :19                             
##       Favorite.Soft.Drink Gender
##  7UP/Sprite     :13       F:33  
##  Coca Cola/Pepsi:32       M:33  
##  Fanta          :14             
##  Other          : 7             
##                                 
##                                 
## 
#重新命名欄位名稱
colnames(x) #檢視欄位名稱
## [1] "Favorite.Color"       "Favorite.Music.Genre" "Favorite.Beverage"   
## [4] "Favorite.Soft.Drink"  "Gender"
colnames(x) <- c("color", "music", "beverage", "drink", "gender")     

###類別資料分析###

#問題一:男女生各有多少人?
table(x$gender)#算次數
## 
##  F  M 
## 33 33
prop.table(table(x$gender))#算百分比
## 
##   F   M 
## 0.5 0.5
#問題二:最喜歡的color、music、beverage、drink、gender(擇一分析)?
table(x$music)
## 
##       Electronic Folk/Traditional          Hip hop       Jazz/Blues 
##                8                4                8                4 
##              Pop     R&B and soul             Rock 
##               17                6               19
prop.table(table(x$music))
## 
##       Electronic Folk/Traditional          Hip hop       Jazz/Blues 
##       0.12121212       0.06060606       0.12121212       0.06060606 
##              Pop     R&B and soul             Rock 
##       0.25757576       0.09090909       0.28787879
#問題三:男女對顏色的喜好的差異?
#交叉次數分配表
t <- table(x$gender,x$music)
t
##    
##     Electronic Folk/Traditional Hip hop Jazz/Blues Pop R&B and soul Rock
##   F          2                2       1          3  13            2   10
##   M          6                2       7          1   4            4    9
#百分比次數分配表
p.t1 <- prop.table(t)
p.t1
##    
##     Electronic Folk/Traditional    Hip hop Jazz/Blues        Pop R&B and soul
##   F 0.03030303       0.03030303 0.01515152 0.04545455 0.19696970   0.03030303
##   M 0.09090909       0.03030303 0.10606061 0.01515152 0.06060606   0.06060606
##    
##           Rock
##   F 0.15151515
##   M 0.13636364
#將次數變成百分比(乘以100)
p.t2 <- p.t1*100
  p.t2
##    
##     Electronic Folk/Traditional   Hip hop Jazz/Blues       Pop R&B and soul
##   F   3.030303         3.030303  1.515152   4.545455 19.696970     3.030303
##   M   9.090909         3.030303 10.606061   1.515152  6.060606     6.060606
##    
##          Rock
##   F 15.151515
##   M 13.636364
#四捨五入至小數2位
p.t3 <- round(p.t2,2)
p.t3
##    
##     Electronic Folk/Traditional Hip hop Jazz/Blues   Pop R&B and soul  Rock
##   F       3.03             3.03    1.52       4.55 19.70         3.03 15.15
##   M       9.09             3.03   10.61       1.52  6.06         6.06 13.64
#畫長條圖
barplot(p.t3)

#畫分組長條圖
barplot(p.t3, beside = TRUE)

#加上圖例與上色
rownames(p.t3)
## [1] "F" "M"
label <- rownames(p.t3)
label
## [1] "F" "M"
barplot(p.t3, 
        beside = TRUE, 
        legend.text =  label , 
        col = c("pink","navy")   )