##R語言資料分析期中考:
##輸入學號: 1130730212 和名字:余勤彥
##壹、自建資料與圖表(請見社團範例)
#(1-1)建立一個data frame,包括brand品牌與market_share市站率
brand <-c("Samsung","Apple","Oppo")
market_share <-c(31.7,22.8,9.3)
data<-data.frame(brand,market_share)
#(1-2)畫長條圖
#加上圖例與上色
brand <-c("Samsung","Apple","Oppo")
market_share <-c(31.7,22.8,9.3)
data<-data.frame(brand,market_share)
barplot(sort(market_share,decreasing = TRUE),
names.arg =c("Sansung","Apple","Oppo"),
main = "market_share",
sub="by eyon",
xlab = "brand",
ylab = "market_share",
col =c(16:24))

#貳、比較gender 性別與lunch 營養午餐類型
#讀入外部資料
sp <- read.csv(file = "StudentsPerformance.csv", stringsAsFactors = TRUE)
summary(sp)
## gender race.ethnicity parental.level.of.education lunch
## female:518 group A: 89 associate's degree:222 free/reduced:355
## male :482 group B:190 bachelor's degree :118 standard :645
## group C:319 high school :196
## group D:262 master's degree : 59
## group E:140 some college :226
## some high school :179
## test.preparation.course math.score reading.score writing.score
## completed:358 Min. : 0.00 Min. : 17.00 Min. : 10.00
## none :642 1st Qu.: 57.00 1st Qu.: 59.00 1st Qu.: 57.75
## Median : 66.00 Median : 70.00 Median : 69.00
## Mean : 66.09 Mean : 69.17 Mean : 68.05
## 3rd Qu.: 77.00 3rd Qu.: 79.00 3rd Qu.: 79.00
## Max. :100.00 Max. :100.00 Max. :100.00
#欄位名稱------------------------------------------
# gender 性別
# race.ethnicity 種族分群
# parental.level.of.education 父母教育程度
# lunch 營養午餐類型(free/reduced免費或減免餐費,standard為一般類別)
# test.preparation.course
# math.score 數學成績
# reading.score 閱讀成績
# writing.score 寫作成績
#(2-1)計算不同gender 性別與lunch 營養午餐人數的比例(交叉分析表)
t <- table(sp$lunch,sp$gender)
t
##
## female male
## free/reduced 189 166
## standard 329 316
p.t <- prop.table(t)
p.t
##
## female male
## free/reduced 0.189 0.166
## standard 0.329 0.316
p.t <- p.t*100
p.t
##
## female male
## free/reduced 18.9 16.6
## standard 32.9 31.6
#(2-2)呈現gender 性別與lunch 營養午餐人數的圖表
rownames(p.t)
## [1] "free/reduced" "standard"
label <- rownames(p.t)
label
## [1] "free/reduced" "standard"
barplot(p.t,
main = "Gender/Lunch",
beside =TRUE ,
legend.text =label,
col =c(6,4) )

#參、math.score 數學成績的直方圖與盒狀圖
label <- rownames("math.score")
hist(sp$math.score,
col=c(46:88),
main = "math.score",
sub = "eyon")

#肆、math.score數學成績的最大值、最小值、平均數、中位數、標準差
max(sp$math.score)
## [1] 100
min(sp$math.score)
## [1] 0
mean(sp$math.score)
## [1] 66.089
median(sp$math.score)
## [1] 66
sd(sp$math.score)
## [1] 15.16308
#五、呈現以下兩組關係的散佈圖
#(1)math.score 數學成績與與writing.score 寫作成績
par(mfrow = c(1,2))
plot(sp$math.score,sp$writing.score)
#(2)reading.score 閱讀成績與writing.score 寫作成績
plot(sp$reading.score,sp$writing.score)

#六、計算以下兩組關係的相關係數
#(1)reading.score 閱讀成績與math.score 數學成績
par(mfrow=c(1,2))
cor(sp$reading.score,sp$math.score)
## [1] 0.8175797
#(2)writing.score 寫作成績與math.score 數學成績
cor(sp$writing.score,sp$math.score)
## [1] 0.802642
#七、計算不同gender 性別的math.score 數學成績並畫長條圖
t <- table(sp$gender, sp$math.score)
t
##
## 0 8 18 19 22 23 24 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42
## female 1 1 1 1 1 1 1 1 1 0 3 0 3 1 2 4 1 3 3 2 5 4 5
## male 0 0 0 0 0 0 0 0 1 1 0 2 0 0 0 1 1 1 0 2 5 2 1
##
## 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
## female 4 6 5 5 6 7 8 11 6 13 11 11 8 7 10 13 21 8 11 16 13 12 28
## male 1 3 4 6 5 4 9 4 5 5 13 7 10 2 8 12 11 8 16 19 13 8 8
##
## 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
## female 12 16 11 16 8 13 7 13 15 10 8 16 6 8 6 8 9 4 2 8 2 5 6
## male 12 10 15 16 10 13 11 14 10 11 13 8 8 14 11 14 9 4 9 6 6 11 9
##
## 89 90 91 92 93 94 95 96 97 98 99 100
## female 1 2 2 4 2 2 1 2 2 1 2 3
## male 5 6 7 2 2 5 1 1 4 2 1 4
x<-tapply(sp$math.score,sp$gender,mean)
x
## female male
## 63.63320 68.72822
barplot(x,main = "gender", sub = "by eyon",xlab="gender",ylab="grade",
beside =TRUE ,
col =c(9:1))
