Exercises4
匯入、檢視資料
dta <- read.table("/Users/User/Desktop/DM_R/hk0316/exercise/ex4_5/usBirths2015.txt", header = T)
dim(dta)
## [1] 12 2
str(dta)
## 'data.frame': 12 obs. of 2 variables:
## $ birth: int 325955 298058 328923 320832 327917 330541 353415 351791 347516 339007 ...
## $ month: Factor w/ 12 levels "April","August",..: 5 4 8 1 9 7 6 2 12 11 ...
dta
## birth month
## 1 325955 January
## 2 298058 February
## 3 328923 March
## 4 320832 April
## 5 327917 May
## 6 330541 June
## 7 353415 July
## 8 351791 August
## 9 347516 September
## 10 339007 October
## 11 318820 November
## 12 335722 December
依季節重新命名月份
dta$month <- c("spring", "spring", "spring", "summer", "summer", "summer", "fall", "fall", "fall", "winter", "winter", "winter")
dta
## birth month
## 1 325955 spring
## 2 298058 spring
## 3 328923 spring
## 4 320832 summer
## 5 327917 summer
## 6 330541 summer
## 7 353415 fall
## 8 351791 fall
## 9 347516 fall
## 10 339007 winter
## 11 318820 winter
## 12 335722 winter
各季節誕生嬰兒總數
season <- aggregate(birth ~ month, sum, data=dta)
season
## month birth
## 1 fall 1052722
## 2 spring 952936
## 3 summer 979290
## 4 winter 993549
Exercises5
dta2 <- read.table("/Users/User/Desktop/DM_R/hk0316/exercise/ex4_5/readingtimes.txt", header = T)
dim(dta2)
## [1] 7 14
str(dta2)
## 'data.frame': 7 obs. of 14 variables:
## $ Snt : int 1 2 3 4 5 6 7
## $ Sp : int 1 2 3 4 5 6 7
## $ Wrds: int 13 16 9 9 10 18 6
## $ New : int 1 3 2 2 3 4 1
## $ S01 : num 3.43 6.48 1.71 3.68 4 ...
## $ S02 : num 2.79 5.41 2.34 3.71 2.9 ...
## $ S03 : num 4.16 4.49 3.02 2.87 2.99 ...
## $ S04 : num 3.07 5.06 2.46 2.73 2.67 ...
## $ S05 : num 3.62 9.29 6.04 4.21 3.88 ...
## $ S06 : num 3.16 5.64 2.46 6.24 3.22 ...
## $ S07 : num 3.23 8.36 4.92 3.72 3.14 ...
## $ S08 : num 7.16 4.31 3.37 6.33 6.14 ...
## $ S09 : num 1.54 2.95 1.38 1.15 2.76 ...
## $ S10 : num 4.06 6.65 2.18 3.66 3.33 ...
dta2
## Snt Sp Wrds New S01 S02 S03 S04 S05 S06 S07 S08 S09 S10
## 1 1 1 13 1 3.429 2.795 4.161 3.071 3.625 3.161 3.232 7.161 1.536 4.063
## 2 2 2 16 3 6.482 5.411 4.491 5.063 9.295 5.643 8.357 4.313 2.946 6.652
## 3 3 3 9 2 1.714 2.339 3.018 2.464 6.045 2.455 4.920 3.366 1.375 2.179
## 4 4 4 9 2 3.679 3.714 2.866 2.732 4.205 6.241 3.723 6.330 1.152 3.661
## 5 5 5 10 3 4.000 2.902 2.991 2.670 3.884 3.223 3.143 6.143 2.759 3.330
## 6 6 6 18 4 6.973 8.018 6.625 7.571 8.795 13.188 11.170 6.071 7.964 7.866
## 7 7 7 6 1 2.634 1.750 2.268 2.884 3.491 3.688 2.054 1.696 1.455 3.705
newdta<- dta2[,5:14]
newdta
## S01 S02 S03 S04 S05 S06 S07 S08 S09 S10
## 1 3.429 2.795 4.161 3.071 3.625 3.161 3.232 7.161 1.536 4.063
## 2 6.482 5.411 4.491 5.063 9.295 5.643 8.357 4.313 2.946 6.652
## 3 1.714 2.339 3.018 2.464 6.045 2.455 4.920 3.366 1.375 2.179
## 4 3.679 3.714 2.866 2.732 4.205 6.241 3.723 6.330 1.152 3.661
## 5 4.000 2.902 2.991 2.670 3.884 3.223 3.143 6.143 2.759 3.330
## 6 6.973 8.018 6.625 7.571 8.795 13.188 11.170 6.071 7.964 7.866
## 7 2.634 1.750 2.268 2.884 3.491 3.688 2.054 1.696 1.455 3.705
S01~S10閱讀耗費總時間以及排序
newdta2 <- apply(dta2[,5:14], 2, sum)
newdta2
## S01 S02 S03 S04 S05 S06 S07 S08 S09 S10
## 28.911 26.929 26.420 26.455 39.340 37.599 36.599 35.080 19.187 31.456
order(newdta2)
## [1] 9 3 4 2 1 10 8 7 6 5
S01~S10平均閱讀一個字所需的時間
w <- sum(dta2$Wrds)
w
## [1] 81
newdta3<-c(newdta2/w)
newdta3
## S01 S02 S03 S04 S05 S06 S07 S08
## 0.3569259 0.3324568 0.3261728 0.3266049 0.4856790 0.4641852 0.4518395 0.4330864
## S09 S10
## 0.2368765 0.3883457