1. Basic Exercises
Ex 1. ๋ค์ ํ๋ณธ์ ๋ฒ์(range), ๋ถ์ฐ(variance) ๊ทธ๋ฆฌ๊ณ ํ์คํธ์ฐจ(standard deviation)์ ๊ตฌํ๋ผ.
Ex 2. ๋ค์ ํ๋ณธ์ ๋ฒ์(range), ๋ถ์ฐ(variance) ๊ทธ๋ฆฌ๊ณ ํ์คํธ์ฐจ(standard deviation)์ ๊ตฌํ๋ผ.
Ex 3. ๋ค์ ํ๋ณธ์ ๋ฒ์(range), ๋ถ์ฐ(variance) ๊ทธ๋ฆฌ๊ณ ํ์คํธ์ฐจ(standard deviation)์ ๊ตฌํ๋ผ.
Ex 4. ๋ค์ ํ๋ณธ์ ๋ฒ์(range), ๋ถ์ฐ(variance) ๊ทธ๋ฆฌ๊ณ ํ์คํธ์ฐจ(standard deviation)์ ๊ตฌํ๋ผ.
Ex 5. data frequency table๋ก ํํ๋ ํ๋ณธ์ ๋ฒ์(range), ๋ถ์ฐ(variance) ๊ทธ๋ฆฌ๊ณ ํ์คํธ์ฐจ(standard deviation)์ ๊ตฌํ๋ผ.
Ex 6. data frequency table๋ก ํํ๋ ํ๋ณธ์ ๋ฒ์(range), ๋ถ์ฐ(variance) ๊ทธ๋ฆฌ๊ณ ํ์คํธ์ฐจ(standard deviation)์ ๊ตฌํ๋ผ.
2. Applications Exercies
Ex 7. ๋ค์ ํ๋ณธ์ ๋ฒ์(range), ๋ถ์ฐ(variance) ๊ทธ๋ฆฌ๊ณ ํ์คํธ์ฐจ(standard deviation)์ ๊ตฌํ๋ผ.
Copy 122 162 123 145 148 120 147 160 150 152
Ex 8. ๋ค์ ํ๋ณธ์ ๋ฒ์(range), ๋ถ์ฐ(variance) ๊ทธ๋ฆฌ๊ณ ํ์คํธ์ฐจ(standard deviation)์ ๊ตฌํ๋ผ.
Copy 142 152 128 145 148 129 147 155 150 152
3. Additional Exercises
Ex 9. ๋ค์์ ํ๋ก ๋ํ๋ ๋ฐ์ดํฐ ์ธํธ๊ฐ ์๋ค.
Copy x 26 27 28 29 30 31 32
f 3 4 16 12 6 2 1
a. ์ด ํ๋ฅผ ์ด์ฉํ์ฌ ฮฃ x \Sigma x ฮฃ x ์ ฮฃ x 2 \Sigma x^2 ฮฃ x 2 ์ ๊ตฌํ๋ผ.
b. ์์ ๊ฒฐ๊ณผ๋ฅผ ์ด์ฉํ์ฌ ํ๋ณธ ํ๊ท ๊ณผ ํ๋ณธ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
Ex 10. ๋ค์์ ๋ฐ์ดํฐ์ ๋ํ์ฌ ํ๋ณธ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
Copy x 1 2 3 4 5 6 7 8 9 10
f 284 208 98 56 28 12 8 2 3 1
Ex 11. ์๋์ฐจ ์๋ฆฌ์ผํฐ์์ ์๋ฆฌ๋น ์ฒญ์๋ฅผ 49๊ฑด ๋ฌด์์๋ก ์ ํํ์๋ค. ๊ทธ ๋ฐ์ดํฐ๋ฅผ stem and leaf diagram์ผ๋ก ์ ๋ ฌํ์๋ค. (stem์ ์ฒ๋จ์, leaf๋ ๋ฐฑ๋จ์๋ก ํ์๋์ด ์์ผ๋ฉฐ ๊ฐ์ฅ ํฐ ๊ธ์ก์ 3,800์ด์๋ค.)
Copy 0 | 4
0 | 5688
1 | 0012444
1 | 55566777889
2 | 000001224
2 | 566778899
3 | 001124
3 | 568
a. ํ๊ท , ์ค์๊ฐ ๊ทธ๋ฆฌ๊ณ ์ต๋น๊ฐ์ ๊ตฌํ๋ผ.
b. ๋ฒ์(range)๋ฅผ ๊ตฌํ๋ผ.
c. ํ๋ณธ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
[Solution]
R Source a. b. c.
Copy x <- c(35, 36, 38, 30, 30, 31, 31, 32, 34, 25, 26, 26, 27, 27, 28, 28,
29, 29, 20, 20, 20, 20, 20, 21, 22, 22, 24, 15, 15, 15, 16, 16,
17, 17, 17, 18, 18, 19, 10, 10, 11, 12, 14, 14, 14, 5, 6, 8, 8,
4)
stem(x)
# a.
mean(x) # mean
median(x) # median
y <- table(x) # mode
names(which.max(y))
# b.
range <- max(x) - min(x); range
# c.
sd(x)
Copy > # a.
> mean(x) # mean
[1] 20.6
Copy > median(x) # median
[1] 20
Copy > y <- table(x) # mode
> names(which.max(y))
[1] "20"
Ex 12. ํ์ค ํธ์ฐจ๊ฐ 0์ธ ๋ฐ์ดํฐ ์ธํธ์ ํน์ง์ ๋ํ์ฌ ์์ ํ๋ผ.
Ex 13. 25๊ฐ์ ์ธก์ ์น๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ ์ธํธ์ ํ์คํธ์ฐจ๊ฐ 0์ด๋ค. ์ด ์ธก์ ์น ์ค์ ํ๋๊ฐ 17์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ค. ๋๋จธ์ง 24๊ฐ ์ธก์ ์น๋ ์ด๋ป๊ฒ ๊ตฌ์ฑ์ด ๋๋๊ฐ?
Ex 14. ๋ฒ์์ ๊ฐ์ด 0์ด๊ณ , ํ๋ณธ ํ๊ท ์ด 2์ด ๋ ํ๋ณธ์ ํฌ๊ธฐ๊ฐ 3์ธ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์์ฑํ๋ผ.
Ex 15. ํ๋ณธ ๋ถ์ฐ ๊ฐ์ด 0์ด๊ณ , ํ๋ณธ ํ๊ท ์ด 1์ด ๋๋ ํ๋ณธ ํฌ๊ธฐ 3์ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์์ฑํ๋ผ.
Ex 16. (-1, 0, 1) ํ๋ณธ์ ํ๊ท ์ด 0, ํ์คํธ์ฐจ๊ฐ 1์ด๋ค. ํ๊ท ์ด 0์ด๊ณ ํ์คํธ์ฐจ๊ฐ 1๋ณด๋ค ๋ ํฐ ๊ฐ์ ๊ฐ๋ ํ๋ณธ ํฌ๊ธฐ 3์ธ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์์ฑํ๋ผ.
Ex 17. (-1, 0, 1) ํ๋ณธ์ ํ๊ท ์ด 0, ํ์คํธ์ฐจ๊ฐ 1์ด๋ค. ํ๊ท ์ด 0์ด๊ณ ํ์คํธ์ฐจ๊ฐ 1๋ณด๋ค ๋ ์์ํฐ ๊ฐ์ ๊ฐ๋ ํ๋ณธ ํฌ๊ธฐ 3์ธ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์์ฑํ๋ผ.
Ex 18. ๋ค์๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ์ธํธ๊ฐ ์๋ค. ์ด ๋ฐ์ดํฐ ์ธํธ๋ฅผ Data Set 1 ์ด๋ผ๊ณ ํ์.
Copy 5 -2 6 14 -3 0 1 4 3 3 5
a. Data Set 1์ ํ๋ณธ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
b. ์ด Data Set 1์ ๊ฐ ์์น์ 3์ ๋ํ์ฌ Data Set II๋ฅผ ์์ฑํ๋ผ. ๊ทธ๋ฆฌ๊ณ ์ด Data Set II์ ํ๋ณธ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
c. Data Set I์ ๊ฐ ์์น์์ 6์ ๋บ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋ Data Set III๋ฅผ ์์ฑํ๋ผ. ๊ทธ๋ฆฌ๊ณ ์ด Data Set III์ ํ๋ณธ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
d. (a), (b), (c)์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ๊ณ ์ผ๋ฐ์ ์ธ ์๋ฆฌ๋ก ์ ์ํ ์ ์๋ ํจํด์ ์ค๋ช
ํ๋ผ.
[Solution]
R Source a b c d
Copy ds1 <- c(5, -2, 6, 14, -3, 0, 1, 4, 3, 3, 5)
# a
sd(ds1)
# b
ds2 <- ds1 + 3; ds2
sd(ds2)
# c
ds3 <- ds2 - 6; ds3
sd(ds3)
Copy > # a
> sd(ds1)
[1] 4.60632
Copy > # b
> ds2 <- ds1 + 3; ds2
[1] 8 1 9 17 0 3 4 7 6 6 8
> sd(ds2)
[1] 4.60632
Copy > # c
> ds3 <- ds2 - 6; ds3
[1] 2 -5 3 11 -6 -3 -2 1 0 0 2
> sd(ds3)
[1] 4.60632
(a), (b), (c) have the same standard deviation.
=> sd(x) = sd(x + a) = sd(x - a)
4. LARGE DATA SET EXERCISES
Ex 19. 1,000 ๋ช
์ ํ์๋ค์ SAT์ GPS ์ฑ์ ์ ์๋กํ๊ณ ์๋ Data Set 1 ์ด ์ ์ฌ์ดํธ์ ์๋ก๋์ด ์๋ค.
a. SAT ์ฑ์ ์ ๋ฒ์์ ํ๋ณธ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
b. GPS ์ฑ์ ์ ๋ฒ์์ ํ๋ณธ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
[Solution]
R Source Data Set 1 a b
Copy install.packages("readxl")
library(readxl)
dataset1 <- read_excel("data1.xls")
str(dataset1)
# Data Set 1
sat <- dataset1[[1]]
gpa <- dataset1[[2]]
# list of Data Set
head(sat)
head(gpa)
# a.
range_SAT <- max(sat) - min(sat)
range_SAT
sd(sat)
# b.
range_GPA <- max(gpa) - min(gpa)
range_GPA
sd(gpa)
Copy
> str(dataset1)
> str(dataset1)
Classes โtbl_dfโ, โtblโ and 'data.frame': 1000 obs. of 2 variables:
$ SAT Score : num 1300 1520 1580 1430 1610 1230 1520 1320 1240 1480 ...
$ College GPA: num 3.66 2.92 2.66 2.27 2.35 2.02 2.94 1.76 2.35 3.16 ...
>
> # list of Data Set
> head(sat)
[1] 1300 1520 1580 1430 1610 1230
> head(gpa)
[1] 3.66 2.92 2.66 2.27 2.35 2.02
Copy > # a.
> range_SAT <- max(sat) - min(sat)
> range_SAT
[1] 1350
> sd(sat)
[1] 212.5455
Copy > # b.
> range_GPA <- max(gpa) - min(gpa)
> range_GPA
[1] 4
> sd(gpa)
[1] 0.7407454
Ex 20 . Data Set 1 ์ SAT์ฑ์ ์ ์ด์ฉํ์ฌ ๋ค์์ ๊ตฌํ๋ผ.
a. ์ด ๋ฐ์ดํฐ ์ธํธ๊ฐ ๋ชจ๋ ๊ณ ๋ฑํ์๋ค์ ๋ฐ์ดํฐ๋ก ์๊ฐํ์. ๋ชจ์ง๋จ์ ๋ฒ์์ ํ์คํธ์ฐจ( ฯ ) (\sigma) ( ฯ ) ๋ฅผ ๊ณ์ฐํ๋ผ.
b. ์ด ๋ชจ์ง์ง๋จ์์ ๋ฌด์์ ํ๋ณธ์ผ๋ก ์ ์ผ ์ฒ์์ 25๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ํํ์๋ค. ์ด ํ๋ณธ์ ๋ฒ์์ ํ์คํธ์ฐจ( s ) (s) ( s ) ๋ฅผ ๊ตฌํ๋ผ. ์ด ๊ฐ๋ค์ (a)์์ ๊ตฌํ ๊ฒฐ๊ณผ์ ๋น๊ตํ๋ผ.
c. ์ด ๋ชจ์ง๋จ์์ ๋ฌด์์ ํ๋ณธ์ผ๋ก ๊ทธ ๋ค์ 25๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ํํ์๋ค. ์ด ํ๋ณธ์ ๋ฒ์์ ํ์คํธ์ฐจ( s ) (s) ( s ) ๋ฅผ ๊ตฌํ๋ผ. ์ด ๊ฐ๋ค์ (a)์์ ๊ตฌํ ๊ฒฐ๊ณผ์ ๋น๊ตํ๋ผ.
[Solution]
R Source a b c
Copy dataset1 <- read_excel("data1.xls")
str(dataset1)
# Population Data Set
sat <- dataset1[[1]]; head(sat)
# a.
range_SAT <- max(sat) - min(sat) ; range_SAT
sd(sat)
# Sample Data Set : First 25 Observations.
sat <- dataset1[[1]][1:25]; sat
# b.
range_SAT <- max(sat) - min(sat) ; range_SAT
sd(sat)
# Sample Data Set : First 25 Observations.
sat <- dataset1[[1]][26:50]; sat
# c.
range_SAT <- max(sat) - min(sat) ; range_SAT
sd(sat)
Copy > # Population Data Set
> sat <- dataset1[[1]]; head(sat)
[1] 1300 1520 1580 1430 1610 1230
>
> # a.
> range_SAT <- max(sat) - min(sat) ; range_SAT
[1] 1350
> sd(sat)
[1] 212.5455
Copy > # Sample Data Set : First 25 Observations.
> sat <- dataset1[[1]][1:25]; sat
[1] 1300 1520 1580 1430 1610 1230 1520 1320 1240 1480 1780 1870 1140 1580 1520 1510 1490 1760 1430 1630 1960 1330
[23] 1520 1430 1390
>
> # b.
> range_SAT <- max(sat) - min(sat) ; range_SAT
[1] 820
> sd(sat)
[1] 197.5373
Copy > # Sample Data Set : Next 25 Observations.
> sat <- dataset1[[1]][26:50]; sat
[1] 1700 1320 1540 1510 1120 1690 1870 1450 1430 1850 1510 1510 1700 1330 1820 1360 1820 1670 1690 1330 1520 1180
[23] 1700 1430 1330
>
> # c.
> range_SAT <- max(sat) - min(sat) ; range_SAT
[1] 750
> sd(sat)
[1] 209.6052
Ex 21 . Data Set 1 ์ GPA์ฑ์ ์ ์ด์ฉํ์ฌ ๋ค์์ ๊ตฌํ๋ผ.
a. ์ด ๋ฐ์ดํฐ ์ธํธ๊ฐ ๋ชจ๋ ๊ณ ๋ฑํ์๋ค์ ๋ฐ์ดํฐ๋ก ์๊ฐํ์. ๋ชจ์ง๋จ์ ๋ฒ์์ ํ์คํธ์ฐจ( ฯ ) (\sigma) ( ฯ ) ๋ฅผ ๊ณ์ฐํ๋ผ.
b. ์ด ๋ชจ์ง์ง๋จ์์ ๋ฌด์์ ํ๋ณธ์ผ๋ก ์ ์ผ ์ฒ์์ 25๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ํํ์๋ค. ์ด ํ๋ณธ์ ๋ฒ์์ ํ์คํธ์ฐจ( s ) (s) ( s ) ๋ฅผ ๊ตฌํ๋ผ. ์ด ๊ฐ๋ค์ (a)์์ ๊ตฌํ ๊ฒฐ๊ณผ์ ๋น๊ตํ๋ผ.
c. ์ด ๋ชจ์ง๋จ์์ ๋ฌด์์ ํ๋ณธ์ผ๋ก ๊ทธ ๋ค์ 25๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ํํ์๋ค. ์ด ํ๋ณธ์ ๋ฒ์์ ํ์คํธ์ฐจ( s ) (s) ( s ) ๋ฅผ ๊ตฌํ๋ผ. ์ด ๊ฐ๋ค์ (a)์์ ๊ตฌํ ๊ฒฐ๊ณผ์ ๋น๊ตํ๋ผ.
[Solution]
R Source a b c
Copy dataset1 <- read_excel("data1.xls")
str(dataset1)
# Population Data Set
gpa <- dataset1[[2]]; head(gpa)
# a.
range_GPA <- max(gpa) - min(gpa) ; range_GPA
sd(gpa)
# Sample Data Set : First 25 Observations.
gpa <- dataset1[[2]][1:25]; gpa
# b.
range_GPA <- max(gpa) - min(gpa) ; range_GPA
sd(gpa)
# Sample Data Set : Next 25 Observations.
gpa <- dataset1[[2]][26:50]; gpa
# c.
range_GPA <- max(gpa) - min(gpa) ; range_GPA
sd(gpa)
Copy > # Population Data Set
> gpa <- dataset1[[2]]; head(gpa)
[1] 3.66 2.92 2.66 2.27 2.35 2.02
>
> # a.
> range_GPA <- max(gpa) - min(gpa) ; range_GPA
[1] 4
> sd(gpa)
[1] 0.7407454
Copy > # Sample Data Set : First 25 Observations.
> gpa <- dataset1[[2]][1:25]; gpa
[1] 3.66 2.92 2.66 2.27 2.35 2.02 2.94 1.76 2.35 3.16 1.69 3.38 0.62 2.25 3.17 2.72 2.24 1.78 2.99 3.13 3.65 3.41
[23] 0.73 1.87 2.04
>
> # b.
> range_GPA <- max(gpa) - min(gpa) ; range_GPA
[1] 3.04
> sd(gpa)
[1] 0.8080454
Copy > # Sample Data Set : Next 25 Observations.
> gpa <- dataset1[[2]][26:50]; gpa
[1] 2.22 1.80 3.19 1.80 2.25 3.25 3.31 2.05 1.41 2.94 2.52 2.34 2.63 1.35 3.65 2.60 2.61 2.18 2.67 1.16 3.11 1.65
[23] 2.05 3.00 2.28
>
> # c.
> range_GPA <- max(gpa) - min(gpa) ; range_GPA
[1] 2.49
> sd(gpa)
[1] 0.6578432
> sd(gpa)
[1] 0.6578432
Ex 22. ๋ค์์ ๋ฐ์ดํฐ ์ธํธ๋ ํน์ ์คํ์ ์ฌ์ฉ๋ 140๋ง๋ฆฌ ์คํ์ฉ ์ฅ์ ์์กด ๊ธฐ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์๋กํ๊ณ ์๋ค.
a. ์ฑ๋ณ์ ์๊ด์์ด ๋ชจ๋ ์ฅ๋ค์ ์์กด๊ธฐ๊ฐ์ ๋ฒ์์ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
b. ์์ปท(gender = "M") ์ฅ๋ค์ ๋ฒ์์ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
c. ์์ปท(gender = "F") ์ฅ๋ค์ ๋ฒ์์ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํ๋ผ.
[Solution A]
R Source Data Set a b. c.
Copy dataset <- read_excel("data7.xls")
str(dataset)
dataset$Gender <- as.factor(dataset$Gender)
gender <- dataset[[2]] ; head(gender)
surv_day <- dataset[[3]] ; head(surv_day)
# a.
mean(surv_day)
# b. c.
aggregate(surv_day~gender, FUN=mean)
Copy > str(dataset)
Classes โtbl_dfโ, โtblโ and 'data.frame': 140 obs. of 3 variables:
$ ID : num 1 2 3 4 5 6 7 8 9 10 ...
$ Gender : Factor w/ 2 levels "F","M": 1 2 1 2 1 2 2 1 2 1 ...
$ Survival Time (days): num 554 680 484 706 396 737 664 362 719 512 ...
>
> dataset$Gender <- as.factor(dataset$Gender)
>
> gender <- dataset[[2]] ; head(gender)
[1] F M F M F M
Levels: F M
> surv_day <- dataset[[3]] ; head(surv_day)
[1] 554 680 484 706 396 737
Copy > # a.
> mean(surv_day)
[1] 553.4286
Copy > # b. c.
> aggregate(surv_day~gender, FUN=mean)
gender surv_day
1 F 455.8933
2 M 665.9692
[Solution B]
R Source a b. c.
Copy dataset <- read_excel("data7.xls")
str(dataset)
dataset$Gender <- as.factor(dataset$Gender)
gender <- dataset[[2]] ; head(gender)
surv_day <- dataset[[3]] ; head(surv_day)
# a.
mean(surv_day)
# or b. c.
data <- data.frame(gender, surv_day); head(data)
mean_surv_M <- mean(data$surv_day[data$gender == "M"]) ; mean_surv_M
mean_surv_F <- mean(data$surv_day[data$gender == "F"]) ; mean_surv_F
Copy > str(dataset)
Classes โtbl_dfโ, โtblโ and 'data.frame': 140 obs. of 3 variables:
$ ID : num 1 2 3 4 5 6 7 8 9 10 ...
$ Gender : Factor w/ 2 levels "F","M": 1 2 1 2 1 2 2 1 2 1 ...
$ Survival Time (days): num 554 680 484 706 396 737 664 362 719 512 ...
>
> dataset$Gender <- as.factor(dataset$Gender)
>
> gender <- dataset[[2]] ; head(gender)
[1] F M F M F M
Levels: F M
> surv_day <- dataset[[3]] ; head(surv_day)
[1] 554 680 484 706 396 737
> # a.
> mean(surv_day)
[1] 553.4286
Copy > # or b. c.
> data <- data.frame(gender, surv_day); head(data)
gender surv_day
1 F 554
2 M 680
3 F 484
4 M 706
5 F 396
6 M 737
>
> mean_surv_M <- mean(data$surv_day[data$gender == "M"]) ; mean_surv_M
[1] 665.9692
> mean_surv_F <- mean(data$surv_day[data$gender == "F"]) ; mean_surv_F
[1] 455.8933