#R語言資料分析期中考:
#輸入學號:1130730105  名字:潘奕至
#壹、比較gender 性別與lunch 營養午餐類型
#讀入外部資料
sp <- read.csv(file = "StudentsPerformance.csv", stringsAsFactors = TRUE)
#欄位名稱------------------------------------------
# gender 性別
# race.ethnicity 種族分群
# parental.level.of.education  父母教育程度
# lunch 營養午餐類型(free/reduced免費或減免餐費,standard為一般類別)
# test.preparation.course
# math.score 數學成績
# reading.score 閱讀成績
# writing.score 寫作成績
#(1-1)計算不同lunch 營養午餐與race.ethnicity 種族分群人數的比例(交叉分析表)
T<-table(sp$lunch,sp$race.ethnicity)
T
##               
##                group A group B group C group D group E
##   free/reduced      36      69     114      95      41
##   standard          53     121     205     167      99
#(1-2)呈現lunch 營養午餐與race.ethnicity 種族分群的圖表
label <- rownames(T)
barplot(T,beside = TRUE,sub = "by allen pan",main = "lunch/group",col = c(10:11))

#貳、reading.score 閱讀成績的直方圖與盒狀圖
boxplot(sp$reading.score,col=6,main = "reading.score boxplot",sub = "by allen pan")

hist(sp$reading.score,col=5,main = "reading.score histgram",sub = "by allen pan")

#參、reading.score 閱讀成績的最大值、最小值、平均數、中位數、標準差
sp$reading.score
##    [1]  72  90  95  57  78  83  95  43  64  60  54  52  81  72  53  75  89  32
##   [19]  42  58  69  75  54  73  71  74  54  69  70  70  74  65  72  42  87  81
##   [37]  81  64  90  56  61  73  58  65  56  54  65  71  74  84  55  69  44  78
##   [55]  84  41  85  55  59  17  74  39  61  80  58  64  37  72  58  64  63  55
##   [73]  51  57  49  41  26  78  74  68  49  45  47  64  39  80  83  71  70  86
##   [91]  72  34  79  45  86  81  66  72  67  67  67  74  91  44  86  67 100  63
##  [109]  76  64  89  55  53  58 100  77  85  82  63  69  92  89  93  57  80  95
##  [127]  68  77  82  49  84  37  74  81  79  55  54  55  66  61  72  62  55  43
##  [145]  73  39  84  68  75 100  67  67  70  49  67  89  74  60  86  62  78  88
##  [163]  53  53  92 100  51  76  83  75  73  88  86  67  51  91  54  77  70 100
##  [181]  68  64  50  69  52  67  76  66  52  88  65  83  64  62  84  55  69  56
##  [199]  53  79  84  81  77  69  41  71  62  80  81  61  79  28  62  51  91  83
##  [217]  86  42  77  56  68  85  65  80  66  56  72  50  72  95  64  43  86  87
##  [235]  82  75  66  60  52  80  68  83  52  51  74  76  76  70  64  60  49  83
##  [253]  70  80  52  73  73  77  75  81  79  79  50  93  73  42  75  72  92  76
##  [271]  63  49  53  70  85  78  92  63  86  56  52  48  79  78  46  82  82  89
##  [289]  75  76  70  73  60  73  77  62  41  74  46  87  78  54  84  76  75  67
##  [307]  87  52  71  57  76  60  61  67  64  66  82  72  71  65  79  86  81  53
##  [325]  46  90  61  23  75  55  60  37  56  78  93  68  70  51  38  55  61  73
##  [343]  76  72  73  80  61  94  74  74  65  57  78  58  71  72  61  66  62  90
##  [361]  62  84  58  34  60  58  58  66  64  84  77  73  74  97  70  43  90  95
##  [379]  83  64  86 100  81  49  43  76  73  78  64  70  67  68  67  54  74  45
##  [397]  67  89  63  59  54  43  65  99  59  73  65  80  57  84  71  83  66  67
##  [415]  72  73  74  73  59  56  93  58  58  85  39  67  83  71  59  63  66  72
##  [433]  56  59  66  48  68  66  56  88  81  81  73  83  82  74  66  81  46  73
##  [451]  85  92  77  58  61  56  89  54 100  65  58  54  70  90  58  87  31  67
##  [469]  88  74  85  69  86  67  90  76  62  68  64  71  71  59  68  52  52  74
##  [487]  47  75  53  82  85  64  83  88  64  64  48  78  69  71  79  87  61  89
##  [505]  59  82  70  59  78  92  71  50  49  61  97  87  89  74  78  78  49  86
##  [523]  58  59  52  60  61  53  41  74  67  54  61  88  69  83  60  66  66  92
##  [541]  69  82  77  95  63  83 100  67  67  72  76  90  48  62  45  39  72  67
##  [559]  70  66  75  74  90  80  51  43 100  71  48  68  75  96  62  66  81  55
##  [577]  51  91  56  61  97  79  73  75  77  76  73  63  64  66  57  62  68  76
##  [595] 100  79  24  54  77  82  60  29  78  57  89  72  84  58  64  63  60  59
##  [613]  90  77  93  68  45  78  81  73  61  63  51  96  58  97  70  48  57  51
##  [631]  64  60  74  88  84  74  80  92  76  74  52  88  81  79  65  81  70  62
##  [649]  53  79  56  80  86  70  79  67  67  66  60  87  77  66  71  69  63  60
##  [667]  73  85  74  72  76  57  78  84  77  64  78  82  75  61  72  68  55  40
##  [685]  66  99  75  78  58  90  53  76  74  77  63  89  82  72  78  66  81  67
##  [703]  84  64  63  72  34  59  87  61  84  85 100  81  70  94  78  96  76  73
##  [721]  72  59  90  48  43  74  75  51  92  39  77  46  89  47  58  57  79  66
##  [739]  71  60  73  57  84  73  55  79  75  64  60  84  69  72  77  90  55  95
##  [757]  58  68  59  77  72  58  81  62  63  72  75  62  71  60  48  73  67  78
##  [775]  65  58  72  44  79  85  56  90  85  59  81  51  79  38  65  65  62  66
##  [793]  74  84  52  68  70  84  60  55  73  80  94  85  76  81  74  45  75  54
##  [811]  31  47  64  84  80  86  59  70  72  91  90  90  52  87  58  67  68  69
##  [829]  86  54  60  86  60  82  50  64  64  82  57  77  52  58  44  77  65  85
##  [847]  85  54  72  75  67  68  85  67  64  97  68  79  49  73  62  86  42  71
##  [865]  93  82  53  42  74  51  58  72  84  90  62  64  82  61  72  76  64  70
##  [883]  73  46  51  76 100  72  65  51  85  92  67  74  62  34  29  78  54  78
##  [901]  84  78  48 100  84  77  48  84  75  64  42  84  61  62  61  70 100  61
##  [919]  77  96  70  53  66  65  70  64  56  61  43  56  74  57  71  75  87  63
##  [937]  57  58  81  68  66  91  66  62  68  61  82  58  50  75  73  77  74  52
##  [955]  69  57  87 100  63  81  58  54 100  76  57  70  68  63  76  84 100  72
##  [973]  50  65  63  82  62  65  41  95  24  78  85  87  75  51  59  75  45  86
##  [991]  81  82  76  72  63  99  55  71  78  86
max(sp$reading.score)
## [1] 100
min(sp$reading.score)
## [1] 17
mean(sp$reading.score)
## [1] 69.169
median(sp$reading.score)
## [1] 70
sd(sp$reading.score)
## [1] 14.60019
#肆、呈現以下兩組關係的散佈圖
#(1)math.score 數學成績與與writing.score 寫作成績
#(2)reading.score 閱讀成績與writing.score 寫作成績
par(mfrow = c(1,2))
plot(sp$math.score,sp$writing.score,col="green")
plot(sp$reading.score,sp$writing.score,col="red")

#伍、計算以下兩組關係的相關係數
#(1)math.score 數學成績與與writing.score 寫作成績
cor(sp$math.score,sp$writing.score)
## [1] 0.802642
#(2)reading.score 閱讀成績與writing.score 寫作成績
cor(sp$reading.score,sp$writing.score)
## [1] 0.9545981
#陸、計算不同gender 性別的math.score 數學成績並畫長條圖
x<-tapply(sp$math.score,sp$gender,mean)
x
##   female     male 
## 63.63320 68.72822
barplot(x,main = "gender", sub = "by allen pan",xlab="gender",ylab="grade",
        beside =TRUE , 
        col =c(1:2))
##柒、以下為一連鎖商店的業績  ####
# 分店:A, B, C, D, E, F, G, H
# 業績:20, 35, 55, 58, 63, 47, 70, 88
#7-1、請將這4家分店的業績合併為一個data frame
branch<- c( "B","D","C","A")
sales <- c(35,58,55,20)
data<-data.frame(branch,sales)
#7-2、請畫出這4家分店的業績的長條圖。
barplot(sort(data$sales, decreasing = TRUE),
        names.arg = data$sales,
        main="Perfoemance Assessment", 
        sub = "by allen pan",
        xlab="branch", 
        ylab="sales", 
        col =c(11:14))