Problem 1
8 points possible
- 1 pt - load data
- 1 pt - str
- 2 pt - select columns
- 2 pt - add calculated column
- 2 pt - summarize columns
part a
crania <-read.table("https://stats.are-awesome.com/datasets/Howell_craniometry.txt", sep=",", header=TRUE, na.strings = 0)
head(crania)
## ID Sex PopNum Population GOL NOL BNL BBH XCB XFB ZYB AUB WCB ASB BPL NPH NLH
## 1 1 M 1 NORSE 189 185 100 135 143 120 133 119 70 112 96 66 50
## 2 2 M 1 NORSE 182 178 102 139 145 120 137 125 66 113 108 64 48
## 3 3 M 1 NORSE 191 187 102 123 140 114 134 125 74 112 102 67 53
## 4 4 M 1 NORSE 191 188 100 127 141 123 135 127 71 113 95 76 53
## 5 5 M 1 NORSE 178 177 97 128 138 117 129 121 69 111 90 67 51
## 6 6 M 1 NORSE 194 191 106 132 139 118 136 128 76 112 102 69 50
## JUB NLB MAB MDH MDB OBH OBB DKB NDS WNB SIS ZMB SSS FMB NAS EKB DKS IML XML
## 1 118 26 63 31 13 31 42 22 12 9.5 4.9 83 20 100 19 100 8 42 57
## 2 118 25 72 19 13 28 39 21 9 10.8 4.5 101 27 95 17 96 9 32 53
## 3 112 23 65 28 14 33 41 20 13 8.1 4.5 90 24 98 19 97 10 35 56
## 4 114 26 62 25 12 35 40 23 10 8.8 4.4 94 23 98 16 99 8 34 52
## 5 115 24 64 26 14 32 39 21 11 8.9 5.4 91 21 96 18 97 10 35 52
## 6 117 25 65 29 13 33 40 22 13 8.3 2.8 91 22 101 20 98 11 38 57
## MLS WMH SOS GLS STB FRC FRS FRF PAC PAS PAF OCC OCS OCF FOL NAR SSR PRR DKR
## 1 13 24 7 4 115 118 25 53 119 26 62 98 30 51 34 96 95 100 84
## 2 10 23 6 4 117 116 28 55 113 24 59 93 27 39 34 93 102 108 84
## 3 10 24 6 4 112 107 25 47 118 23 59 88 30 45 41 96 96 102 82
## 4 11 22 8 3 116 109 26 47 116 24 57 94 34 50 38 92 93 98 81
## 5 12 27 5 2 116 102 22 45 113 26 62 94 32 40 34 91 92 94 79
## 6 10 23 6 3 115 107 23 49 115 26 58 103 34 47 35 100 100 104 87
## ZOR FMR EKR ZMR AVR BRR VRR LAR OSR BAR NAA PRA BAA NBA BBA BRA SSA NFA DKA
## 1 81 74 73 76 83 NA 122 NA NA NA 67 74 39 76 58 46 129 138 158
## 2 84 76 73 74 82 NA 124 NA NA NA 77 67 35 79 55 46 124 141 153
## 3 82 77 72 70 82 NA 116 NA NA NA 71 71 38 72 56 52 124 138 152
## 4 79 79 73 72 77 NA 118 NA NA NA 64 71 46 75 56 49 128 144 157
## 5 79 72 69 71 76 NA 118 NA NA NA 64 75 42 80 52 48 130 139 150
## 6 88 79 75 78 84 NA 125 NA NA NA 68 74 39 77 52 51 128 137 148
## NDA SIA FRA PAA OCA RFA RPA ROA BSA SBA SLA TBA
## 1 85 88 134 133 117 NA NA NA NA NA NA NA
## 2 99 100 128 134 119 NA NA NA NA NA NA NA
## 3 75 84 129 137 111 NA NA NA NA NA NA NA
## 4 98 90 128 135 108 NA NA NA NA NA NA NA
## 5 87 79 133 130 111 NA NA NA NA NA NA NA
## 6 80 112 133 131 113 NA NA NA NA NA NA NA
part b
str(crania)
## 'data.frame': 2524 obs. of 86 variables:
## $ ID : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Sex : chr "M" "M" "M" "M" ...
## $ PopNum : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Population: chr "NORSE" "NORSE" "NORSE" "NORSE" ...
## $ GOL : int 189 182 191 191 178 194 186 186 186 189 ...
## $ NOL : int 185 178 187 188 177 191 183 184 182 189 ...
## $ BNL : int 100 102 102 100 97 106 95 103 96 101 ...
## $ BBH : int 135 139 123 127 128 132 122 130 134 131 ...
## $ XCB : int 143 145 140 141 138 139 143 141 141 144 ...
## $ XFB : int 120 120 114 123 117 118 122 121 123 115 ...
## $ ZYB : int 133 137 134 135 129 136 128 128 135 130 ...
## $ AUB : int 119 125 125 127 121 128 119 121 123 125 ...
## $ WCB : int 70 66 74 71 69 76 71 72 71 63 ...
## $ ASB : int 112 113 112 113 111 112 108 109 111 108 ...
## $ BPL : int 96 108 102 95 90 102 95 100 87 95 ...
## $ NPH : int 66 64 67 76 67 69 66 64 72 63 ...
## $ NLH : int 50 48 53 53 51 50 49 49 51 50 ...
## $ JUB : int 118 118 112 114 115 117 114 118 115 115 ...
## $ NLB : int 26 25 23 26 24 25 24 25 24 25 ...
## $ MAB : int 63 72 65 62 64 65 61 62 61 61 ...
## $ MDH : int 31 19 28 25 26 29 26 32 31 28 ...
## $ MDB : int 13 13 14 12 14 13 11 13 12 12 ...
## $ OBH : int 31 28 33 35 32 33 32 35 33 33 ...
## $ OBB : int 42 39 41 40 39 40 39 38 39 40 ...
## $ DKB : int 22 21 20 23 21 22 25 27 20 19 ...
## $ NDS : int 12 9 13 10 11 13 14 14 15 14 ...
## $ WNB : num 9.5 10.8 8.1 8.8 8.9 8.3 9.4 13.1 8.2 8.1 ...
## $ SIS : num 4.9 4.5 4.5 4.4 5.4 2.8 4.3 3.7 4.5 4.6 ...
## $ ZMB : int 83 101 90 94 91 91 95 100 90 93 ...
## $ SSS : int 20 27 24 23 21 22 22 17 22 20 ...
## $ FMB : int 100 95 98 98 96 101 97 99 95 96 ...
## $ NAS : int 19 17 19 16 18 20 20 19 20 17 ...
## $ EKB : int 100 96 97 99 97 98 95 100 97 96 ...
## $ DKS : int 8 9 10 8 10 11 11 8 9 10 ...
## $ IML : int 42 32 35 34 35 38 36 37 37 38 ...
## $ XML : int 57 53 56 52 52 57 55 55 57 54 ...
## $ MLS : int 13 10 10 11 12 10 12 14 10 10 ...
## $ WMH : int 24 23 24 22 27 23 26 27 28 25 ...
## $ SOS : int 7 6 6 8 5 6 11 5 7 4 ...
## $ GLS : int 4 4 4 3 2 3 4 3 5 2 ...
## $ STB : int 115 117 112 116 116 115 121 114 123 114 ...
## $ FRC : int 118 116 107 109 102 107 113 112 118 118 ...
## $ FRS : int 25 28 25 26 22 23 26 24 28 28 ...
## $ FRF : int 53 55 47 47 45 49 55 53 59 52 ...
## $ PAC : int 119 113 118 116 113 115 115 117 111 106 ...
## $ PAS : int 26 24 23 24 26 26 24 26 25 25 ...
## $ PAF : int 62 59 59 57 62 58 64 62 65 57 ...
## $ OCC : int 98 93 88 94 94 103 93 94 101 107 ...
## $ OCS : int 30 27 30 34 32 34 32 25 31 36 ...
## $ OCF : int 51 39 45 50 40 47 45 42 56 53 ...
## $ FOL : int 34 34 41 38 34 35 32 38 33 34 ...
## $ NAR : int 96 93 96 92 91 100 94 93 94 93 ...
## $ SSR : int 95 102 96 93 92 100 94 91 92 93 ...
## $ PRR : int 100 108 102 98 94 104 98 98 98 96 ...
## $ DKR : int 84 84 82 81 79 87 81 78 79 79 ...
## $ ZOR : int 81 84 82 79 79 88 80 80 81 80 ...
## $ FMR : int 74 76 77 79 72 79 73 74 76 75 ...
## $ EKR : int 73 73 72 73 69 75 70 70 70 69 ...
## $ ZMR : int 76 74 70 72 71 78 73 74 71 73 ...
## $ AVR : int 83 82 82 77 76 84 77 78 79 78 ...
## $ BRR : int NA NA NA NA NA NA NA NA NA NA ...
## $ VRR : int 122 124 116 118 118 125 118 122 120 124 ...
## $ LAR : int NA NA NA NA NA NA NA NA NA NA ...
## $ OSR : int NA NA NA NA NA NA NA NA NA NA ...
## $ BAR : int NA NA NA NA NA NA NA NA NA NA ...
## $ NAA : int 67 77 71 64 64 68 70 69 60 66 ...
## $ PRA : int 74 67 71 71 75 74 70 74 74 77 ...
## $ BAA : int 39 35 38 46 42 39 41 37 46 37 ...
## $ NBA : int 76 79 72 75 80 77 71 74 77 73 ...
## $ BBA : int 58 55 56 56 52 52 61 56 59 59 ...
## $ BRA : int 46 46 52 49 48 51 47 50 44 48 ...
## $ SSA : int 129 124 124 128 130 128 130 142 128 133 ...
## $ NFA : int 138 141 138 144 139 137 135 138 134 141 ...
## $ DKA : int 158 153 152 157 150 148 147 156 153 151 ...
## $ NDA : int 85 99 75 98 87 80 84 88 67 68 ...
## $ SIA : int 88 100 84 90 79 112 95 121 85 83 ...
## $ FRA : int 134 128 129 128 133 133 131 134 129 129 ...
## $ PAA : int 133 134 137 135 130 131 134 132 130 129 ...
## $ OCA : int 117 119 111 108 111 113 111 124 116 112 ...
## $ RFA : int NA NA NA NA NA NA NA NA NA NA ...
## $ RPA : int NA NA NA NA NA NA NA NA NA NA ...
## $ ROA : int NA NA NA NA NA NA NA NA NA NA ...
## $ BSA : int NA NA NA NA NA NA NA NA NA NA ...
## $ SBA : int NA NA NA NA NA NA NA NA NA NA ...
## $ SLA : int NA NA NA NA NA NA NA NA NA NA ...
## $ TBA : int NA NA NA NA NA NA NA NA NA NA ...
part c
library(dplyr)
selectedCols <-
crania %>%
select(XFB, OBB, SIS, Sex)
head(selectedCols)
## XFB OBB SIS Sex
## 1 120 42 4.9 M
## 2 120 39 4.5 M
## 3 114 41 4.5 M
## 4 123 40 4.4 M
## 5 117 39 5.4 M
## 6 118 40 2.8 M
part d
## notice here how I am overwriting the entire selectedCols dataframe with the
## new dataframe with the additional product column
selectedCols <-
selectedCols %>%
mutate(product = XFB * OBB * SIS)
head(selectedCols)
## XFB OBB SIS Sex product
## 1 120 42 4.9 M 24696.0
## 2 120 39 4.5 M 21060.0
## 3 114 41 4.5 M 21033.0
## 4 123 40 4.4 M 21648.0
## 5 117 39 5.4 M 24640.2
## 6 118 40 2.8 M 13216.0
part e
summarized <-
selectedCols %>%
group_by(Sex) %>%
summarize(meanProduct=mean(product, na.rm=TRUE),
minProduct=min(product, na.rm=TRUE),
maxProduct=max(product, na.rm=TRUE))
head(summarized)
## # A tibble: 2 × 4
## Sex meanProduct minProduct maxProduct
## <chr> <dbl> <dbl> <dbl>
## 1 F 11978. 364. 34036
## 2 M 15301. 418 37084