6. Cleaning Datasets to make Workable
# Dimensions of the training data
dim(TrainingData)
## [1] 19622 160
# Check the structure of the training data
str(TrainingData)
## 'data.frame': 19622 obs. of 160 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ user_name : Factor w/ 6 levels "adelmo","carlitos",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ raw_timestamp_part_1 : int 1323084231 1323084231 1323084231 1323084232 1323084232 1323084232 1323084232 1323084232 1323084232 1323084232 ...
## $ raw_timestamp_part_2 : int 788290 808298 820366 120339 196328 304277 368296 440390 484323 484434 ...
## $ cvtd_timestamp : Factor w/ 20 levels "02/12/2011 13:32",..: 9 9 9 9 9 9 9 9 9 9 ...
## $ new_window : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...
## $ num_window : int 11 11 11 12 12 12 12 12 12 12 ...
## $ roll_belt : num 1.41 1.41 1.42 1.48 1.48 1.45 1.42 1.42 1.43 1.45 ...
## $ pitch_belt : num 8.07 8.07 8.07 8.05 8.07 8.06 8.09 8.13 8.16 8.17 ...
## $ yaw_belt : num -94.4 -94.4 -94.4 -94.4 -94.4 -94.4 -94.4 -94.4 -94.4 -94.4 ...
## $ total_accel_belt : int 3 3 3 3 3 3 3 3 3 3 ...
## $ kurtosis_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ kurtosis_picth_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ kurtosis_yaw_belt : logi NA NA NA NA NA NA ...
## $ skewness_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ skewness_roll_belt.1 : num NA NA NA NA NA NA NA NA NA NA ...
## $ skewness_yaw_belt : logi NA NA NA NA NA NA ...
## $ max_roll_belt : Factor w/ 196 levels "-0.2","-0.4",..: 196 196 196 196 196 196 196 196 196 196 ...
## $ max_picth_belt : Factor w/ 23 levels "10","11","17",..: 23 23 23 23 23 23 23 23 23 23 ...
## $ max_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_roll_belt : Factor w/ 185 levels "-0.2","-0.5",..: 185 185 185 185 185 185 185 185 185 185 ...
## $ min_pitch_belt : Factor w/ 17 levels "0","1","15","16",..: 17 17 17 17 17 17 17 17 17 17 ...
## $ min_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_roll_belt : Factor w/ 149 levels "0","0.1","0.13",..: 149 149 149 149 149 149 149 149 149 149 ...
## $ amplitude_pitch_belt : Factor w/ 14 levels "0","1","10","11",..: 14 14 14 14 14 14 14 14 14 14 ...
## $ amplitude_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_total_accel_belt : Factor w/ 66 levels "0","0.0217","0.0278",..: 66 66 66 66 66 66 66 66 66 66 ...
## $ avg_roll_belt : Factor w/ 192 levels "-0.2","-0.3",..: 192 192 192 192 192 192 192 192 192 192 ...
## $ stddev_roll_belt : Factor w/ 70 levels "0","0.091","0.0957",..: 70 70 70 70 70 70 70 70 70 70 ...
## $ var_roll_belt : Factor w/ 97 levels "0","0.0083","0.0092",..: 97 97 97 97 97 97 97 97 97 97 ...
## $ avg_pitch_belt : Factor w/ 215 levels "-0.2","-0.4",..: 215 215 215 215 215 215 215 215 215 215 ...
## $ stddev_pitch_belt : Factor w/ 44 levels "0","0.0571","0.1",..: 44 44 44 44 44 44 44 44 44 44 ...
## $ var_pitch_belt : Factor w/ 64 levels "0","0.0033","0.0393",..: 64 64 64 64 64 64 64 64 64 64 ...
## $ avg_yaw_belt : Factor w/ 241 levels "-0.1","-0.7",..: 241 241 241 241 241 241 241 241 241 241 ...
## $ stddev_yaw_belt : Factor w/ 59 levels "0","0.0407","0.0522",..: 59 59 59 59 59 59 59 59 59 59 ...
## $ var_yaw_belt : Factor w/ 146 levels "0","0.0017","0.0027",..: 146 146 146 146 146 146 146 146 146 146 ...
## $ gyros_belt_x : num 0 0.02 0 0.02 0.02 0.02 0.02 0.02 0.02 0.03 ...
## $ gyros_belt_y : num 0 0 0 0 0.02 0 0 0 0 0 ...
## $ gyros_belt_z : num -0.02 -0.02 -0.02 -0.03 -0.02 -0.02 -0.02 -0.02 -0.02 0 ...
## $ accel_belt_x : int -21 -22 -20 -22 -21 -21 -22 -22 -20 -21 ...
## $ accel_belt_y : int 4 4 5 3 2 4 3 4 2 4 ...
## $ accel_belt_z : int 22 22 23 21 24 21 21 21 24 22 ...
## $ magnet_belt_x : int -3 -7 -2 -6 -6 0 -4 -2 1 -3 ...
## $ magnet_belt_y : int 599 608 600 604 600 603 599 603 602 609 ...
## $ magnet_belt_z : int -313 -311 -305 -310 -302 -312 -311 -313 -312 -308 ...
## $ roll_arm : num -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 ...
## $ pitch_arm : num 22.5 22.5 22.5 22.1 22.1 22 21.9 21.8 21.7 21.6 ...
## $ yaw_arm : num -161 -161 -161 -161 -161 -161 -161 -161 -161 -161 ...
## $ total_accel_arm : int 34 34 34 34 34 34 34 34 34 34 ...
## $ var_accel_arm : Factor w/ 396 levels "0","0.0179","0.02",..: 396 396 396 396 396 396 396 396 396 396 ...
## $ avg_roll_arm : Factor w/ 331 levels "-0.7853","-1.9176",..: 331 331 331 331 331 331 331 331 331 331 ...
## $ stddev_roll_arm : Factor w/ 331 levels "0","0.05","0.1081",..: 331 331 331 331 331 331 331 331 331 331 ...
## $ var_roll_arm : Factor w/ 331 levels "0","0.0025","0.0117",..: 331 331 331 331 331 331 331 331 331 331 ...
## $ avg_pitch_arm : Factor w/ 331 levels "-0.3724","-0.4137",..: 331 331 331 331 331 331 331 331 331 331 ...
## $ stddev_pitch_arm : Factor w/ 331 levels "0","0.0153","0.135",..: 331 331 331 331 331 331 331 331 331 331 ...
## $ var_pitch_arm : Factor w/ 331 levels "0","0.0182","0.0275",..: 331 331 331 331 331 331 331 331 331 331 ...
## $ avg_yaw_arm : Factor w/ 331 levels "-0.0188","-0.07",..: 331 331 331 331 331 331 331 331 331 331 ...
## $ stddev_yaw_arm : Factor w/ 328 levels "0","0.3471","0.3594",..: 328 328 328 328 328 328 328 328 328 328 ...
## $ var_yaw_arm : Factor w/ 328 levels "0","0.1205","0.1292",..: 328 328 328 328 328 328 328 328 328 328 ...
## $ gyros_arm_x : num 0 0.02 0.02 0.02 0 0.02 0 0.02 0.02 0.02 ...
## $ gyros_arm_y : num 0 -0.02 -0.02 -0.03 -0.03 -0.03 -0.03 -0.02 -0.03 -0.03 ...
## $ gyros_arm_z : num -0.02 -0.02 -0.02 0.02 0 0 0 0 -0.02 -0.02 ...
## $ accel_arm_x : int -288 -290 -289 -289 -289 -289 -289 -289 -288 -288 ...
## $ accel_arm_y : int 109 110 110 111 111 111 111 111 109 110 ...
## $ accel_arm_z : int -123 -125 -126 -123 -123 -122 -125 -124 -122 -124 ...
## $ magnet_arm_x : int -368 -369 -368 -372 -374 -369 -373 -372 -369 -376 ...
## $ magnet_arm_y : int 337 337 344 344 337 342 336 338 341 334 ...
## $ magnet_arm_z : int 516 513 513 512 506 513 509 510 518 516 ...
## $ kurtosis_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ kurtosis_picth_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ kurtosis_yaw_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ skewness_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ skewness_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ skewness_yaw_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_roll_arm : Factor w/ 291 levels "-0.1","-0.2",..: 291 291 291 291 291 291 291 291 291 291 ...
## $ max_picth_arm : Factor w/ 264 levels "-0.8","-1.8",..: 264 264 264 264 264 264 264 264 264 264 ...
## $ max_yaw_arm : Factor w/ 52 levels "13","14","15",..: 52 52 52 52 52 52 52 52 52 52 ...
## $ min_roll_arm : Factor w/ 279 levels "-0.2","-0.6",..: 279 279 279 279 279 279 279 279 279 279 ...
## $ min_pitch_arm : Factor w/ 291 levels "-1","-1.2","-10.4",..: 291 291 291 291 291 291 291 291 291 291 ...
## $ min_yaw_arm : Factor w/ 39 levels "1","10","11",..: 39 39 39 39 39 39 39 39 39 39 ...
## $ amplitude_roll_arm : Factor w/ 307 levels "0","0.03","0.5",..: 307 307 307 307 307 307 307 307 307 307 ...
## $ amplitude_pitch_arm : Factor w/ 295 levels "0","1","10","10.4",..: 295 295 295 295 295 295 295 295 295 295 ...
## $ amplitude_yaw_arm : Factor w/ 52 levels "0","1","10","11",..: 52 52 52 52 52 52 52 52 52 52 ...
## $ roll_dumbbell : num 13.1 13.1 12.9 13.4 13.4 ...
## $ pitch_dumbbell : num -70.5 -70.6 -70.3 -70.4 -70.4 ...
## $ yaw_dumbbell : num -84.9 -84.7 -85.1 -84.9 -84.9 ...
## $ kurtosis_roll_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ kurtosis_picth_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ kurtosis_yaw_dumbbell : logi NA NA NA NA NA NA ...
## $ skewness_roll_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ skewness_pitch_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ skewness_yaw_dumbbell : logi NA NA NA NA NA NA ...
## $ max_roll_dumbbell : Factor w/ 339 levels "-10.1","-11.1",..: 339 339 339 339 339 339 339 339 339 339 ...
## $ max_picth_dumbbell : Factor w/ 340 levels "-100.1","-100.3",..: 340 340 340 340 340 340 340 340 340 340 ...
## $ max_yaw_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_roll_dumbbell : Factor w/ 333 levels "-1","-1.2","-10.1",..: 333 333 333 333 333 333 333 333 333 333 ...
## $ min_pitch_dumbbell : Factor w/ 357 levels "-1.5","-10.5",..: 357 357 357 357 357 357 357 357 357 357 ...
## $ min_yaw_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_roll_dumbbell : Factor w/ 388 levels "0","0.96","1",..: 388 388 388 388 388 388 388 388 388 388 ...
## [list output truncated]
# Summary of the training data
summary(TrainingData)
## X user_name raw_timestamp_part_1 raw_timestamp_part_2
## Min. : 1 adelmo :3892 Min. :1.322e+09 Min. : 294
## 1st Qu.: 4906 carlitos:3112 1st Qu.:1.323e+09 1st Qu.:252912
## Median : 9812 charles :3536 Median :1.323e+09 Median :496380
## Mean : 9812 eurico :3070 Mean :1.323e+09 Mean :500656
## 3rd Qu.:14717 jeremy :3402 3rd Qu.:1.323e+09 3rd Qu.:751891
## Max. :19622 pedro :2610 Max. :1.323e+09 Max. :998801
##
## cvtd_timestamp new_window num_window roll_belt
## 28/11/2011 14:14: 1498 no :19216 Min. : 1.0 Min. :-28.90
## 05/12/2011 11:24: 1497 yes: 406 1st Qu.:222.0 1st Qu.: 1.10
## 30/11/2011 17:11: 1440 Median :424.0 Median :113.00
## 05/12/2011 11:25: 1425 Mean :430.6 Mean : 64.41
## 02/12/2011 14:57: 1380 3rd Qu.:644.0 3rd Qu.:123.00
## 02/12/2011 13:34: 1375 Max. :864.0 Max. :162.00
## (Other) :11007
## pitch_belt yaw_belt total_accel_belt kurtosis_roll_belt
## Min. :-55.8000 Min. :-180.00 Min. : 0.00 Min. :-2.121
## 1st Qu.: 1.7600 1st Qu.: -88.30 1st Qu.: 3.00 1st Qu.:-1.329
## Median : 5.2800 Median : -13.00 Median :17.00 Median :-0.899
## Mean : 0.3053 Mean : -11.21 Mean :11.31 Mean :-0.220
## 3rd Qu.: 14.9000 3rd Qu.: 12.90 3rd Qu.:18.00 3rd Qu.:-0.219
## Max. : 60.3000 Max. : 179.00 Max. :29.00 Max. :33.000
## NA's :19226
## kurtosis_picth_belt kurtosis_yaw_belt skewness_roll_belt
## Min. :-2.190 Mode:logical Min. :-5.745
## 1st Qu.:-1.107 NA's:19622 1st Qu.:-0.444
## Median :-0.151 Median : 0.000
## Mean : 4.334 Mean :-0.026
## 3rd Qu.: 3.178 3rd Qu.: 0.417
## Max. :58.000 Max. : 3.595
## NA's :19248 NA's :19225
## skewness_roll_belt.1 skewness_yaw_belt max_roll_belt max_picth_belt
## Min. :-7.616 Mode:logical NA :19216 NA :19216
## 1st Qu.:-1.114 NA's:19622 -87.9 : 11 18 : 100
## Median :-0.068 166 : 11 5 : 65
## Mean :-0.296 -87.6 : 10 3 : 50
## 3rd Qu.: 0.661 -87.7 : 10 4 : 40
## Max. : 7.348 -88.2 : 10 20 : 36
## NA's :19248 (Other): 354 (Other): 115
## max_yaw_belt min_roll_belt min_pitch_belt min_yaw_belt
## Min. :-2.10 NA :19216 NA :19216 Min. :-2.10
## 1st Qu.:-1.30 -87.8 : 12 17 : 114 1st Qu.:-1.30
## Median :-0.90 -88.2 : 12 2 : 52 Median :-0.90
## Mean :-0.22 -87.7 : 10 3 : 50 Mean :-0.22
## 3rd Qu.:-0.20 161 : 10 4 : 50 3rd Qu.:-0.20
## Max. :33.00 -88.4 : 9 18 : 45 Max. :33.00
## NA's :19226 (Other): 353 (Other): 95 NA's :19226
## amplitude_roll_belt amplitude_pitch_belt amplitude_yaw_belt
## NA :19216 NA :19216 Min. :0
## 0.2 : 40 1 : 216 1st Qu.:0
## 1 : 31 2 : 71 Median :0
## 0.3 : 27 0 : 32 Mean :0
## 0.1 : 26 3 : 18 3rd Qu.:0
## 0.4 : 18 4 : 13 Max. :0
## (Other): 264 (Other): 56 NA's :19226
## var_total_accel_belt avg_roll_belt stddev_roll_belt var_roll_belt
## NA :19216 NA :19216 NA :19216 NA :19216
## 0.2 : 117 1.3 : 16 0.1 : 53 0 : 126
## 0.1 : 82 1.1 : 15 0.4 : 51 0.1 : 78
## 0 : 59 1.5 : 15 0.5 : 50 0.2 : 56
## 0.3 : 52 0.7 : 14 0.2 : 46 0.3 : 23
## 0.4 : 8 0.8 : 14 0.3 : 41 0.4 : 10
## (Other): 88 (Other): 332 (Other): 165 (Other): 113
## avg_pitch_belt stddev_pitch_belt var_pitch_belt avg_yaw_belt
## NA :19216 NA :19216 NA :19216 NA :19216
## 4.5 : 11 0.2 : 72 0 : 119 -88 : 12
## -43.6 : 8 0.3 : 62 0.1 : 91 -87.9 : 10
## 4.6 : 8 0.1 : 57 0.2 : 38 -88.2 : 10
## 5 : 8 0.4 : 38 0.3 : 22 -87.7 : 9
## 25.5 : 7 0.5 : 24 0.4 : 14 -87.8 : 7
## (Other): 364 (Other): 153 (Other): 122 (Other): 358
## stddev_yaw_belt var_yaw_belt gyros_belt_x gyros_belt_y
## NA :19216 NA :19216 Min. :-1.040000 Min. :-0.64000
## 0.1 : 83 0 : 66 1st Qu.:-0.030000 1st Qu.: 0.00000
## 0.2 : 49 0.01 : 44 Median : 0.030000 Median : 0.02000
## 0 : 44 0.02 : 24 Mean :-0.005592 Mean : 0.03959
## 0.5 : 35 0.03 : 16 3rd Qu.: 0.110000 3rd Qu.: 0.11000
## 0.4 : 32 0.25 : 13 Max. : 2.220000 Max. : 0.64000
## (Other): 163 (Other): 243
## gyros_belt_z accel_belt_x accel_belt_y accel_belt_z
## Min. :-1.4600 Min. :-120.000 Min. :-69.00 Min. :-275.00
## 1st Qu.:-0.2000 1st Qu.: -21.000 1st Qu.: 3.00 1st Qu.:-162.00
## Median :-0.1000 Median : -15.000 Median : 35.00 Median :-152.00
## Mean :-0.1305 Mean : -5.595 Mean : 30.15 Mean : -72.59
## 3rd Qu.:-0.0200 3rd Qu.: -5.000 3rd Qu.: 61.00 3rd Qu.: 27.00
## Max. : 1.6200 Max. : 85.000 Max. :164.00 Max. : 105.00
##
## magnet_belt_x magnet_belt_y magnet_belt_z roll_arm
## Min. :-52.0 Min. :354.0 Min. :-623.0 Min. :-180.00
## 1st Qu.: 9.0 1st Qu.:581.0 1st Qu.:-375.0 1st Qu.: -31.77
## Median : 35.0 Median :601.0 Median :-320.0 Median : 0.00
## Mean : 55.6 Mean :593.7 Mean :-345.5 Mean : 17.83
## 3rd Qu.: 59.0 3rd Qu.:610.0 3rd Qu.:-306.0 3rd Qu.: 77.30
## Max. :485.0 Max. :673.0 Max. : 293.0 Max. : 180.00
##
## pitch_arm yaw_arm total_accel_arm var_accel_arm
## Min. :-88.800 Min. :-180.0000 Min. : 1.00 NA :19216
## 1st Qu.:-25.900 1st Qu.: -43.1000 1st Qu.:17.00 0 : 11
## Median : 0.000 Median : 0.0000 Median :27.00 0.1582 : 2
## Mean : -4.612 Mean : -0.6188 Mean :25.51 0.0179 : 1
## 3rd Qu.: 11.200 3rd Qu.: 45.8750 3rd Qu.:33.00 0.02 : 1
## Max. : 88.500 Max. : 180.0000 Max. :66.00 0.0222 : 1
## (Other): 390
## avg_roll_arm stddev_roll_arm var_roll_arm avg_pitch_arm
## NA :19216 NA :19216 NA :19216 NA :19216
## 0 : 77 0 : 77 0 : 77 0 : 77
## -0.7853 : 1 0.05 : 1 0.0025 : 1 -0.3724: 1
## -1.9176 : 1 0.1081 : 1 0.0117 : 1 -0.4137: 1
## -10.8644: 1 0.2323 : 1 0.054 : 1 -0.5892: 1
## -10.9094: 1 0.3331 : 1 0.111 : 1 -0.6586: 1
## (Other) : 325 (Other): 325 (Other): 325 (Other): 325
## stddev_pitch_arm var_pitch_arm avg_yaw_arm stddev_yaw_arm
## NA :19216 NA :19216 NA :19216 NA :19216
## 0 : 77 0 : 77 0 : 77 0 : 80
## 0.0153 : 1 0.0182 : 1 -0.0188 : 1 0.3471 : 1
## 0.135 : 1 0.0275 : 1 -0.07 : 1 0.3594 : 1
## 0.1657 : 1 0.0488 : 1 -10.4154: 1 0.4552 : 1
## 0.2209 : 1 0.067 : 1 -10.8806: 1 0.4871 : 1
## (Other): 325 (Other): 325 (Other) : 325 (Other): 322
## var_yaw_arm gyros_arm_x gyros_arm_y gyros_arm_z
## NA :19216 Min. :-6.37000 Min. :-3.4400 Min. :-2.3300
## 0 : 80 1st Qu.:-1.33000 1st Qu.:-0.8000 1st Qu.:-0.0700
## 0.1205 : 1 Median : 0.08000 Median :-0.2400 Median : 0.2300
## 0.1292 : 1 Mean : 0.04277 Mean :-0.2571 Mean : 0.2695
## 0.2072 : 1 3rd Qu.: 1.57000 3rd Qu.: 0.1400 3rd Qu.: 0.7200
## 0.2373 : 1 Max. : 4.87000 Max. : 2.8400 Max. : 3.0200
## (Other): 322
## accel_arm_x accel_arm_y accel_arm_z magnet_arm_x
## Min. :-404.00 Min. :-318.0 Min. :-636.00 Min. :-584.0
## 1st Qu.:-242.00 1st Qu.: -54.0 1st Qu.:-143.00 1st Qu.:-300.0
## Median : -44.00 Median : 14.0 Median : -47.00 Median : 289.0
## Mean : -60.24 Mean : 32.6 Mean : -71.25 Mean : 191.7
## 3rd Qu.: 84.00 3rd Qu.: 139.0 3rd Qu.: 23.00 3rd Qu.: 637.0
## Max. : 437.00 Max. : 308.0 Max. : 292.00 Max. : 782.0
##
## magnet_arm_y magnet_arm_z kurtosis_roll_arm kurtosis_picth_arm
## Min. :-392.0 Min. :-597.0 Min. :-1.809 Min. :-2.084
## 1st Qu.: -9.0 1st Qu.: 131.2 1st Qu.:-1.345 1st Qu.:-1.280
## Median : 202.0 Median : 444.0 Median :-0.894 Median :-1.010
## Mean : 156.6 Mean : 306.5 Mean :-0.366 Mean :-0.542
## 3rd Qu.: 323.0 3rd Qu.: 545.0 3rd Qu.:-0.038 3rd Qu.:-0.379
## Max. : 583.0 Max. : 694.0 Max. :21.456 Max. :19.751
## NA's :19294 NA's :19296
## kurtosis_yaw_arm skewness_roll_arm skewness_pitch_arm skewness_yaw_arm
## Min. :-2.103 Min. :-2.541 Min. :-4.565 Min. :-6.708
## 1st Qu.:-1.220 1st Qu.:-0.561 1st Qu.:-0.618 1st Qu.:-0.743
## Median :-0.733 Median : 0.040 Median :-0.035 Median :-0.133
## Mean : 0.406 Mean : 0.068 Mean :-0.065 Mean :-0.229
## 3rd Qu.: 0.115 3rd Qu.: 0.671 3rd Qu.: 0.454 3rd Qu.: 0.344
## Max. :56.000 Max. : 4.394 Max. : 3.043 Max. : 7.483
## NA's :19227 NA's :19293 NA's :19296 NA's :19227
## max_roll_arm max_picth_arm max_yaw_arm min_roll_arm
## NA :19216 NA :19216 NA :19216 NA :19216
## 0 : 77 0 : 77 32 : 27 0 : 77
## 16.8 : 3 108 : 6 33 : 22 -41.9 : 4
## 20.4 : 3 113 : 5 30 : 19 -23.1 : 3
## 30.5 : 3 102 : 4 34 : 19 -37.1 : 3
## 8.5 : 3 103 : 4 31 : 18 -43.5 : 3
## (Other): 317 (Other): 310 (Other): 301 (Other): 316
## min_pitch_arm min_yaw_arm amplitude_roll_arm amplitude_pitch_arm
## NA :19216 NA :19216 NA :19216 NA :19216
## 0 : 77 10 : 26 0 : 77 0 : 80
## -113 : 4 5 : 26 1.3 : 3 1 : 4
## -103 : 3 13 : 25 15.7 : 3 125.2 : 3
## -104 : 3 14 : 22 1.6 : 2 132.8 : 3
## -108 : 3 7 : 21 17.9 : 2 2 : 3
## (Other): 316 (Other): 286 (Other): 319 (Other): 313
## amplitude_yaw_arm roll_dumbbell pitch_dumbbell yaw_dumbbell
## NA :19216 Min. :-153.71 Min. :-149.59 Min. :-150.871
## 1 : 28 1st Qu.: -18.49 1st Qu.: -40.89 1st Qu.: -77.644
## 22 : 27 Median : 48.17 Median : -20.96 Median : -3.324
## 21 : 18 Mean : 23.84 Mean : -10.78 Mean : 1.674
## 24 : 17 3rd Qu.: 67.61 3rd Qu.: 17.50 3rd Qu.: 79.643
## 25 : 17 Max. : 153.55 Max. : 149.40 Max. : 154.952
## (Other): 299
## kurtosis_roll_dumbbell kurtosis_picth_dumbbell kurtosis_yaw_dumbbell
## Min. :-2.174 Min. :-2.200 Mode:logical
## 1st Qu.:-0.682 1st Qu.:-0.721 NA's:19622
## Median :-0.033 Median :-0.133
## Mean : 0.452 Mean : 0.286
## 3rd Qu.: 0.940 3rd Qu.: 0.584
## Max. :54.998 Max. :55.628
## NA's :19221 NA's :19218
## skewness_roll_dumbbell skewness_pitch_dumbbell skewness_yaw_dumbbell
## Min. :-7.384 Min. :-7.447 Mode:logical
## 1st Qu.:-0.581 1st Qu.:-0.526 NA's:19622
## Median :-0.076 Median :-0.091
## Mean :-0.115 Mean :-0.035
## 3rd Qu.: 0.400 3rd Qu.: 0.505
## Max. : 1.958 Max. : 3.769
## NA's :19220 NA's :19217
## max_roll_dumbbell max_picth_dumbbell max_yaw_dumbbell min_roll_dumbbell
## NA :19216 NA :19216 Min. :-2.20 NA :19216
## -36.4 : 4 14.7 : 4 1st Qu.:-0.70 -59 : 4
## -38.2 : 4 -38.2 : 3 Median : 0.00 0 : 4
## -49.4 : 4 101.2 : 3 Mean : 0.45 -32.7 : 3
## -49.7 : 3 126.4 : 3 3rd Qu.: 0.90 -33.1 : 3
## 16.8 : 3 134.9 : 3 Max. :55.00 -38 : 3
## (Other): 388 (Other): 390 NA's :19221 (Other): 389
## min_pitch_dumbbell min_yaw_dumbbell amplitude_roll_dumbbell
## NA :19216 Min. :-2.20 NA :19216
## 0 : 5 1st Qu.:-0.70 0 : 16
## -22.4 : 3 Median : 0.00 19.31 : 2
## -38.2 : 3 Mean : 0.45 2.72 : 2
## -81.6 : 3 3rd Qu.: 0.90 20.11 : 2
## -85.8 : 3 Max. :55.00 29.48 : 2
## (Other): 389 NA's :19221 (Other): 382
## amplitude_pitch_dumbbell amplitude_yaw_dumbbell total_accel_dumbbell
## NA :19216 Min. :0 Min. : 0.00
## 0 : 16 1st Qu.:0 1st Qu.: 4.00
## 118.4 : 2 Median :0 Median :10.00
## 13.45 : 2 Mean :0 Mean :13.72
## 21.76 : 2 3rd Qu.:0 3rd Qu.:19.00
## 23.88 : 2 Max. :0 Max. :58.00
## (Other): 382 NA's :19221
## var_accel_dumbbell avg_roll_dumbbell stddev_roll_dumbbell
## NA :19216 NA :19216 NA :19216
## 0 : 18 -101.5169: 3 0 : 16
## 0.1949 : 3 125.9932 : 3 0.1811 : 1
## 0.0217 : 2 52.66 : 3 0.2994 : 1
## 0.4311 : 2 -107.4901: 2 0.3015 : 1
## 1.3929 : 2 109.2254 : 2 0.3665 : 1
## (Other): 379 (Other) : 393 (Other): 386
## var_roll_dumbbell avg_pitch_dumbbell stddev_pitch_dumbbell
## NA :19216 NA :19216 NA :19216
## 0 : 16 -38.2221: 3 0 : 16
## 0.0328 : 1 16.8326 : 3 0.2384 : 1
## 0.0896 : 1 27.1869 : 3 0.246 : 1
## 0.0909 : 1 -43.9609: 2 0.2687 : 1
## 0.1343 : 1 -61.3062: 2 0.2798 : 1
## (Other): 386 (Other) : 393 (Other): 386
## var_pitch_dumbbell avg_yaw_dumbbell stddev_yaw_dumbbell var_yaw_dumbbell
## NA :19216 NA :19216 NA :19216 NA :19216
## 0 : 16 -38.2221: 3 0 : 16 0 : 16
## 0.0568 : 1 101.2451: 3 0.256 : 1 0.0656 : 1
## 0.0605 : 1 14.7001 : 3 0.2581 : 1 0.0666 : 1
## 0.0722 : 1 -22.378 : 2 0.2864 : 1 0.082 : 1
## 0.0783 : 1 21.4432 : 2 0.3249 : 1 0.1056 : 1
## (Other): 386 (Other) : 393 (Other): 386 (Other): 386
## gyros_dumbbell_x gyros_dumbbell_y gyros_dumbbell_z
## Min. :-204.0000 Min. :-2.10000 Min. : -2.380
## 1st Qu.: -0.0300 1st Qu.:-0.14000 1st Qu.: -0.310
## Median : 0.1300 Median : 0.03000 Median : -0.130
## Mean : 0.1611 Mean : 0.04606 Mean : -0.129
## 3rd Qu.: 0.3500 3rd Qu.: 0.21000 3rd Qu.: 0.030
## Max. : 2.2200 Max. :52.00000 Max. :317.000
##
## accel_dumbbell_x accel_dumbbell_y accel_dumbbell_z magnet_dumbbell_x
## Min. :-419.00 Min. :-189.00 Min. :-334.00 Min. :-643.0
## 1st Qu.: -50.00 1st Qu.: -8.00 1st Qu.:-142.00 1st Qu.:-535.0
## Median : -8.00 Median : 41.50 Median : -1.00 Median :-479.0
## Mean : -28.62 Mean : 52.63 Mean : -38.32 Mean :-328.5
## 3rd Qu.: 11.00 3rd Qu.: 111.00 3rd Qu.: 38.00 3rd Qu.:-304.0
## Max. : 235.00 Max. : 315.00 Max. : 318.00 Max. : 592.0
##
## magnet_dumbbell_y magnet_dumbbell_z roll_forearm pitch_forearm
## Min. :-3600 Min. :-262.00 Min. :-180.0000 Min. :-72.50
## 1st Qu.: 231 1st Qu.: -45.00 1st Qu.: -0.7375 1st Qu.: 0.00
## Median : 311 Median : 13.00 Median : 21.7000 Median : 9.24
## Mean : 221 Mean : 46.05 Mean : 33.8265 Mean : 10.71
## 3rd Qu.: 390 3rd Qu.: 95.00 3rd Qu.: 140.0000 3rd Qu.: 28.40
## Max. : 633 Max. : 452.00 Max. : 180.0000 Max. : 89.80
##
## yaw_forearm kurtosis_roll_forearm kurtosis_picth_forearm
## Min. :-180.00 Min. :-1.879 Min. :-2.098
## 1st Qu.: -68.60 1st Qu.:-1.398 1st Qu.:-1.376
## Median : 0.00 Median :-1.119 Median :-0.890
## Mean : 19.21 Mean :-0.689 Mean : 0.419
## 3rd Qu.: 110.00 3rd Qu.:-0.618 3rd Qu.: 0.054
## Max. : 180.00 Max. :40.060 Max. :33.626
## NA's :19300 NA's :19301
## kurtosis_yaw_forearm skewness_roll_forearm skewness_pitch_forearm
## Mode:logical Min. :-2.297 Min. :-5.241
## NA's:19622 1st Qu.:-0.402 1st Qu.:-0.881
## Median : 0.003 Median :-0.156
## Mean :-0.009 Mean :-0.223
## 3rd Qu.: 0.370 3rd Qu.: 0.514
## Max. : 5.856 Max. : 4.464
## NA's :19299 NA's :19301
## skewness_yaw_forearm max_roll_forearm max_picth_forearm max_yaw_forearm
## Mode:logical NA :19216 NA :19216 Min. :-1.900
## NA's:19622 0 : 83 0 : 83 1st Qu.:-1.400
## -63.7 : 3 179 : 28 Median :-1.100
## 23.7 : 3 178 : 20 Mean :-0.689
## 28.8 : 3 176 : 16 3rd Qu.:-0.600
## 29.6 : 3 177 : 14 Max. :40.100
## (Other): 311 (Other): 245 NA's :19300
## min_roll_forearm min_pitch_forearm min_yaw_forearm
## NA :19216 NA :19216 Min. :-1.900
## 0 : 83 0 : 83 1st Qu.:-1.400
## -0.4 : 3 -179 : 29 Median :-1.100
## -13.8 : 3 -178 : 25 Mean :-0.689
## -2.7 : 3 -180 : 17 3rd Qu.:-0.600
## 12.8 : 3 -176 : 13 Max. :40.100
## (Other): 311 (Other): 239 NA's :19300
## amplitude_roll_forearm amplitude_pitch_forearm amplitude_yaw_forearm
## NA :19216 NA :19216 Min. :0
## 0 : 83 0 : 85 1st Qu.:0
## 1.7 : 4 354 : 26 Median :0
## 0.3 : 3 356 : 13 Mean :0
## 1 : 3 358 : 13 3rd Qu.:0
## 2.7 : 3 1 : 12 Max. :0
## (Other): 310 (Other): 257 NA's :19300
## total_accel_forearm var_accel_forearm avg_roll_forearm
## Min. : 0.00 NA :19216 NA :19216
## 1st Qu.: 29.00 0 : 7 0 : 83
## Median : 36.00 0.02326: 2 148 : 3
## Mean : 34.72 0.03634: 1 -0.04542: 1
## 3rd Qu.: 41.00 0.06082: 1 -0.71875: 1
## Max. :108.00 0.06753: 1 -0.97204: 1
## (Other): 394 (Other) : 317
## stddev_roll_forearm var_roll_forearm avg_pitch_forearm
## NA :19216 NA :19216 NA :19216
## 0 : 87 0 : 87 0 : 83
## 0.13736: 1 0.01887: 1 -0.38473: 1
## 0.20927: 1 0.04379: 1 -0.56106: 1
## 0.23772: 1 0.05651: 1 -0.59022: 1
## 0.24204: 1 0.05858: 1 -0.84531: 1
## (Other): 315 (Other): 315 (Other) : 319
## stddev_pitch_forearm var_pitch_forearm avg_yaw_forearm
## NA :19216 NA :19216 NA :19216
## 0 : 83 0 : 83 0 : 83
## 0.82447: 2 0.00043: 1 -1.07213 : 1
## 0.02082: 1 0.00371: 1 -1.5242 : 1
## 0.06088: 1 0.00559: 1 -10.14286 : 1
## 0.07474: 1 0.00611: 1 -100.77442: 1
## (Other): 318 (Other): 319 (Other) : 319
## stddev_yaw_forearm var_yaw_forearm gyros_forearm_x gyros_forearm_y
## NA :19216 NA :19216 Min. :-22.000 Min. : -7.02000
## 0 : 85 0 : 85 1st Qu.: -0.220 1st Qu.: -1.46000
## 0.06047: 1 0.00366: 1 Median : 0.050 Median : 0.03000
## 0.19024: 1 0.03619: 1 Mean : 0.158 Mean : 0.07517
## 0.20841: 1 0.04343: 1 3rd Qu.: 0.560 3rd Qu.: 1.62000
## 0.21308: 1 0.0454 : 1 Max. : 3.970 Max. :311.00000
## (Other): 317 (Other): 317
## gyros_forearm_z accel_forearm_x accel_forearm_y accel_forearm_z
## Min. : -8.0900 Min. :-498.00 Min. :-632.0 Min. :-446.00
## 1st Qu.: -0.1800 1st Qu.:-178.00 1st Qu.: 57.0 1st Qu.:-182.00
## Median : 0.0800 Median : -57.00 Median : 201.0 Median : -39.00
## Mean : 0.1512 Mean : -61.65 Mean : 163.7 Mean : -55.29
## 3rd Qu.: 0.4900 3rd Qu.: 76.00 3rd Qu.: 312.0 3rd Qu.: 26.00
## Max. :231.0000 Max. : 477.00 Max. : 923.0 Max. : 291.00
##
## magnet_forearm_x magnet_forearm_y magnet_forearm_z classe
## Min. :-1280.0 Min. :-896.0 Min. :-973.0 A:5580
## 1st Qu.: -616.0 1st Qu.: 2.0 1st Qu.: 191.0 B:3797
## Median : -378.0 Median : 591.0 Median : 511.0 C:3422
## Mean : -312.6 Mean : 380.1 Mean : 393.6 D:3216
## 3rd Qu.: -73.0 3rd Qu.: 737.0 3rd Qu.: 653.0 E:3607
## Max. : 672.0 Max. :1480.0 Max. :1090.0
##
# Dimensions of the test data
dim(TestData)
## [1] 20 160
# Check the structure of the test data
str(TestData)
## 'data.frame': 20 obs. of 160 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ user_name : Factor w/ 6 levels "adelmo","carlitos",..: 6 5 5 1 4 5 5 5 2 3 ...
## $ raw_timestamp_part_1 : int 1323095002 1322673067 1322673075 1322832789 1322489635 1322673149 1322673128 1322673076 1323084240 1322837822 ...
## $ raw_timestamp_part_2 : int 868349 778725 342967 560311 814776 510661 766645 54671 916313 384285 ...
## $ cvtd_timestamp : Factor w/ 11 levels "02/12/2011 13:33",..: 5 10 10 1 6 11 11 10 3 2 ...
## $ new_window : Factor w/ 1 level "no": 1 1 1 1 1 1 1 1 1 1 ...
## $ num_window : int 74 431 439 194 235 504 485 440 323 664 ...
## $ roll_belt : num 123 1.02 0.87 125 1.35 -5.92 1.2 0.43 0.93 114 ...
## $ pitch_belt : num 27 4.87 1.82 -41.6 3.33 1.59 4.44 4.15 6.72 22.4 ...
## $ yaw_belt : num -4.75 -88.9 -88.5 162 -88.6 -87.7 -87.3 -88.5 -93.7 -13.1 ...
## $ total_accel_belt : int 20 4 5 17 3 4 4 4 4 18 ...
## $ kurtosis_roll_belt : logi NA NA NA NA NA NA ...
## $ kurtosis_picth_belt : logi NA NA NA NA NA NA ...
## $ kurtosis_yaw_belt : logi NA NA NA NA NA NA ...
## $ skewness_roll_belt : logi NA NA NA NA NA NA ...
## $ skewness_roll_belt.1 : logi NA NA NA NA NA NA ...
## $ skewness_yaw_belt : logi NA NA NA NA NA NA ...
## $ max_roll_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ max_picth_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ max_yaw_belt : logi NA NA NA NA NA NA ...
## $ min_roll_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ min_pitch_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ min_yaw_belt : logi NA NA NA NA NA NA ...
## $ amplitude_roll_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ amplitude_pitch_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ amplitude_yaw_belt : logi NA NA NA NA NA NA ...
## $ var_total_accel_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ avg_roll_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ stddev_roll_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ var_roll_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ avg_pitch_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ stddev_pitch_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ var_pitch_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ avg_yaw_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ stddev_yaw_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ var_yaw_belt : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ gyros_belt_x : num -0.5 -0.06 0.05 0.11 0.03 0.1 -0.06 -0.18 0.1 0.14 ...
## $ gyros_belt_y : num -0.02 -0.02 0.02 0.11 0.02 0.05 0 -0.02 0 0.11 ...
## $ gyros_belt_z : num -0.46 -0.07 0.03 -0.16 0 -0.13 0 -0.03 -0.02 -0.16 ...
## $ accel_belt_x : int -38 -13 1 46 -8 -11 -14 -10 -15 -25 ...
## $ accel_belt_y : int 69 11 -1 45 4 -16 2 -2 1 63 ...
## $ accel_belt_z : int -179 39 49 -156 27 38 35 42 32 -158 ...
## $ magnet_belt_x : int -13 43 29 169 33 31 50 39 -6 10 ...
## $ magnet_belt_y : int 581 636 631 608 566 638 622 635 600 601 ...
## $ magnet_belt_z : int -382 -309 -312 -304 -418 -291 -315 -305 -302 -330 ...
## $ roll_arm : num 40.7 0 0 -109 76.1 0 0 0 -137 -82.4 ...
## $ pitch_arm : num -27.8 0 0 55 2.76 0 0 0 11.2 -63.8 ...
## $ yaw_arm : num 178 0 0 -142 102 0 0 0 -167 -75.3 ...
## $ total_accel_arm : int 10 38 44 25 29 14 15 22 34 32 ...
## $ var_accel_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ avg_roll_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ stddev_roll_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ var_roll_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ avg_pitch_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ stddev_pitch_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ var_pitch_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ avg_yaw_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ stddev_yaw_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ var_yaw_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ gyros_arm_x : num -1.65 -1.17 2.1 0.22 -1.96 0.02 2.36 -3.71 0.03 0.26 ...
## $ gyros_arm_y : num 0.48 0.85 -1.36 -0.51 0.79 0.05 -1.01 1.85 -0.02 -0.5 ...
## $ gyros_arm_z : num -0.18 -0.43 1.13 0.92 -0.54 -0.07 0.89 -0.69 -0.02 0.79 ...
## $ accel_arm_x : int 16 -290 -341 -238 -197 -26 99 -98 -287 -301 ...
## $ accel_arm_y : int 38 215 245 -57 200 130 79 175 111 -42 ...
## $ accel_arm_z : int 93 -90 -87 6 -30 -19 -67 -78 -122 -80 ...
## $ magnet_arm_x : int -326 -325 -264 -173 -170 396 702 535 -367 -420 ...
## $ magnet_arm_y : int 385 447 474 257 275 176 15 215 335 294 ...
## $ magnet_arm_z : int 481 434 413 633 617 516 217 385 520 493 ...
## $ kurtosis_roll_arm : logi NA NA NA NA NA NA ...
## $ kurtosis_picth_arm : logi NA NA NA NA NA NA ...
## $ kurtosis_yaw_arm : logi NA NA NA NA NA NA ...
## $ skewness_roll_arm : logi NA NA NA NA NA NA ...
## $ skewness_pitch_arm : logi NA NA NA NA NA NA ...
## $ skewness_yaw_arm : logi NA NA NA NA NA NA ...
## $ max_roll_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ max_picth_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ max_yaw_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ min_roll_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ min_pitch_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ min_yaw_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ amplitude_roll_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ amplitude_pitch_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ amplitude_yaw_arm : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ roll_dumbbell : num -17.7 54.5 57.1 43.1 -101.4 ...
## $ pitch_dumbbell : num 25 -53.7 -51.4 -30 -53.4 ...
## $ yaw_dumbbell : num 126.2 -75.5 -75.2 -103.3 -14.2 ...
## $ kurtosis_roll_dumbbell : logi NA NA NA NA NA NA ...
## $ kurtosis_picth_dumbbell : logi NA NA NA NA NA NA ...
## $ kurtosis_yaw_dumbbell : logi NA NA NA NA NA NA ...
## $ skewness_roll_dumbbell : logi NA NA NA NA NA NA ...
## $ skewness_pitch_dumbbell : logi NA NA NA NA NA NA ...
## $ skewness_yaw_dumbbell : logi NA NA NA NA NA NA ...
## $ max_roll_dumbbell : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ max_picth_dumbbell : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ max_yaw_dumbbell : logi NA NA NA NA NA NA ...
## $ min_roll_dumbbell : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ min_pitch_dumbbell : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## $ min_yaw_dumbbell : logi NA NA NA NA NA NA ...
## $ amplitude_roll_dumbbell : Factor w/ 1 level "NA": 1 1 1 1 1 1 1 1 1 1 ...
## [list output truncated]
# Summary of the test data
summary(TestData)
## X user_name raw_timestamp_part_1 raw_timestamp_part_2
## Min. : 1.00 adelmo :1 Min. :1.322e+09 Min. : 36553
## 1st Qu.: 5.75 carlitos:3 1st Qu.:1.323e+09 1st Qu.:268655
## Median :10.50 charles :1 Median :1.323e+09 Median :530706
## Mean :10.50 eurico :4 Mean :1.323e+09 Mean :512167
## 3rd Qu.:15.25 jeremy :8 3rd Qu.:1.323e+09 3rd Qu.:787738
## Max. :20.00 pedro :3 Max. :1.323e+09 Max. :920315
##
## cvtd_timestamp new_window num_window roll_belt
## 30/11/2011 17:11:4 no:20 Min. : 48.0 Min. : -5.9200
## 05/12/2011 11:24:3 1st Qu.:250.0 1st Qu.: 0.9075
## 30/11/2011 17:12:3 Median :384.5 Median : 1.1100
## 05/12/2011 14:23:2 Mean :379.6 Mean : 31.3055
## 28/11/2011 14:14:2 3rd Qu.:467.0 3rd Qu.: 32.5050
## 02/12/2011 13:33:1 Max. :859.0 Max. :129.0000
## (Other) :5
## pitch_belt yaw_belt total_accel_belt kurtosis_roll_belt
## Min. :-41.600 Min. :-93.70 Min. : 2.00 Mode:logical
## 1st Qu.: 3.013 1st Qu.:-88.62 1st Qu.: 3.00 NA's:20
## Median : 4.655 Median :-87.85 Median : 4.00
## Mean : 5.824 Mean :-59.30 Mean : 7.55
## 3rd Qu.: 6.135 3rd Qu.:-63.50 3rd Qu.: 8.00
## Max. : 27.800 Max. :162.00 Max. :21.00
##
## kurtosis_picth_belt kurtosis_yaw_belt skewness_roll_belt
## Mode:logical Mode:logical Mode:logical
## NA's:20 NA's:20 NA's:20
##
##
##
##
##
## skewness_roll_belt.1 skewness_yaw_belt max_roll_belt max_picth_belt
## Mode:logical Mode:logical NA:20 NA:20
## NA's:20 NA's:20
##
##
##
##
##
## max_yaw_belt min_roll_belt min_pitch_belt min_yaw_belt
## Mode:logical NA:20 NA:20 Mode:logical
## NA's:20 NA's:20
##
##
##
##
##
## amplitude_roll_belt amplitude_pitch_belt amplitude_yaw_belt
## NA:20 NA:20 Mode:logical
## NA's:20
##
##
##
##
##
## var_total_accel_belt avg_roll_belt stddev_roll_belt var_roll_belt
## NA:20 NA:20 NA:20 NA:20
##
##
##
##
##
##
## avg_pitch_belt stddev_pitch_belt var_pitch_belt avg_yaw_belt
## NA:20 NA:20 NA:20 NA:20
##
##
##
##
##
##
## stddev_yaw_belt var_yaw_belt gyros_belt_x gyros_belt_y
## NA:20 NA:20 Min. :-0.500 Min. :-0.050
## 1st Qu.:-0.070 1st Qu.:-0.005
## Median : 0.020 Median : 0.000
## Mean :-0.045 Mean : 0.010
## 3rd Qu.: 0.070 3rd Qu.: 0.020
## Max. : 0.240 Max. : 0.110
##
## gyros_belt_z accel_belt_x accel_belt_y accel_belt_z
## Min. :-0.4800 Min. :-48.00 Min. :-16.00 Min. :-187.00
## 1st Qu.:-0.1375 1st Qu.:-19.00 1st Qu.: 2.00 1st Qu.: -24.00
## Median :-0.0250 Median :-13.00 Median : 4.50 Median : 27.00
## Mean :-0.1005 Mean :-13.50 Mean : 18.35 Mean : -17.60
## 3rd Qu.: 0.0000 3rd Qu.: -8.75 3rd Qu.: 25.50 3rd Qu.: 38.25
## Max. : 0.0500 Max. : 46.00 Max. : 72.00 Max. : 49.00
##
## magnet_belt_x magnet_belt_y magnet_belt_z roll_arm
## Min. :-13.00 Min. :566.0 Min. :-426.0 Min. :-137.00
## 1st Qu.: 5.50 1st Qu.:578.5 1st Qu.:-398.5 1st Qu.: 0.00
## Median : 33.50 Median :600.5 Median :-313.5 Median : 0.00
## Mean : 35.15 Mean :601.5 Mean :-346.9 Mean : 16.42
## 3rd Qu.: 46.25 3rd Qu.:631.2 3rd Qu.:-305.0 3rd Qu.: 71.53
## Max. :169.00 Max. :638.0 Max. :-291.0 Max. : 152.00
##
## pitch_arm yaw_arm total_accel_arm var_accel_arm
## Min. :-63.800 Min. :-167.00 Min. : 3.00 NA:20
## 1st Qu.: -9.188 1st Qu.: -60.15 1st Qu.:20.25
## Median : 0.000 Median : 0.00 Median :29.50
## Mean : -3.950 Mean : -2.80 Mean :26.40
## 3rd Qu.: 3.465 3rd Qu.: 25.50 3rd Qu.:33.25
## Max. : 55.000 Max. : 178.00 Max. :44.00
##
## avg_roll_arm stddev_roll_arm var_roll_arm avg_pitch_arm stddev_pitch_arm
## NA:20 NA:20 NA:20 NA:20 NA:20
##
##
##
##
##
##
## var_pitch_arm avg_yaw_arm stddev_yaw_arm var_yaw_arm gyros_arm_x
## NA:20 NA:20 NA:20 NA:20 Min. :-3.710
## 1st Qu.:-0.645
## Median : 0.020
## Mean : 0.077
## 3rd Qu.: 1.248
## Max. : 3.660
##
## gyros_arm_y gyros_arm_z accel_arm_x accel_arm_y
## Min. :-2.0900 Min. :-0.6900 Min. :-341.0 Min. :-65.00
## 1st Qu.:-0.6350 1st Qu.:-0.1800 1st Qu.:-277.0 1st Qu.: 52.25
## Median :-0.0400 Median :-0.0250 Median :-194.5 Median :112.00
## Mean :-0.1595 Mean : 0.1205 Mean :-134.6 Mean :103.10
## 3rd Qu.: 0.2175 3rd Qu.: 0.5650 3rd Qu.: 5.5 3rd Qu.:168.25
## Max. : 1.8500 Max. : 1.1300 Max. : 106.0 Max. :245.00
##
## accel_arm_z magnet_arm_x magnet_arm_y magnet_arm_z
## Min. :-404.00 Min. :-428.00 Min. :-307.0 Min. :-499.0
## 1st Qu.:-128.50 1st Qu.:-373.75 1st Qu.: 205.2 1st Qu.: 403.0
## Median : -83.50 Median :-265.00 Median : 291.0 Median : 476.5
## Mean : -87.85 Mean : -38.95 Mean : 239.4 Mean : 369.8
## 3rd Qu.: -27.25 3rd Qu.: 250.50 3rd Qu.: 358.8 3rd Qu.: 517.0
## Max. : 93.00 Max. : 750.00 Max. : 474.0 Max. : 633.0
##
## kurtosis_roll_arm kurtosis_picth_arm kurtosis_yaw_arm skewness_roll_arm
## Mode:logical Mode:logical Mode:logical Mode:logical
## NA's:20 NA's:20 NA's:20 NA's:20
##
##
##
##
##
## skewness_pitch_arm skewness_yaw_arm max_roll_arm max_picth_arm
## Mode:logical Mode:logical NA:20 NA:20
## NA's:20 NA's:20
##
##
##
##
##
## max_yaw_arm min_roll_arm min_pitch_arm min_yaw_arm amplitude_roll_arm
## NA:20 NA:20 NA:20 NA:20 NA:20
##
##
##
##
##
##
## amplitude_pitch_arm amplitude_yaw_arm roll_dumbbell pitch_dumbbell
## NA:20 NA:20 Min. :-111.118 Min. :-54.97
## 1st Qu.: 7.494 1st Qu.:-51.89
## Median : 50.403 Median :-40.81
## Mean : 33.760 Mean :-19.47
## 3rd Qu.: 58.129 3rd Qu.: 16.12
## Max. : 123.984 Max. : 96.87
##
## yaw_dumbbell kurtosis_roll_dumbbell kurtosis_picth_dumbbell
## Min. :-103.3200 Mode:logical Mode:logical
## 1st Qu.: -75.2809 NA's:20 NA's:20
## Median : -8.2863
## Mean : -0.9385
## 3rd Qu.: 55.8335
## Max. : 132.2337
##
## kurtosis_yaw_dumbbell skewness_roll_dumbbell skewness_pitch_dumbbell
## Mode:logical Mode:logical Mode:logical
## NA's:20 NA's:20 NA's:20
##
##
##
##
##
## skewness_yaw_dumbbell max_roll_dumbbell max_picth_dumbbell
## Mode:logical NA:20 NA:20
## NA's:20
##
##
##
##
##
## max_yaw_dumbbell min_roll_dumbbell min_pitch_dumbbell min_yaw_dumbbell
## Mode:logical NA:20 NA:20 Mode:logical
## NA's:20 NA's:20
##
##
##
##
##
## amplitude_roll_dumbbell amplitude_pitch_dumbbell amplitude_yaw_dumbbell
## NA:20 NA:20 Mode:logical
## NA's:20
##
##
##
##
##
## total_accel_dumbbell var_accel_dumbbell avg_roll_dumbbell
## Min. : 1.0 NA:20 NA:20
## 1st Qu.: 7.0
## Median :15.5
## Mean :17.2
## 3rd Qu.:29.0
## Max. :31.0
##
## stddev_roll_dumbbell var_roll_dumbbell avg_pitch_dumbbell
## NA:20 NA:20 NA:20
##
##
##
##
##
##
## stddev_pitch_dumbbell var_pitch_dumbbell avg_yaw_dumbbell
## NA:20 NA:20 NA:20
##
##
##
##
##
##
## stddev_yaw_dumbbell var_yaw_dumbbell gyros_dumbbell_x gyros_dumbbell_y
## NA:20 NA:20 Min. :-1.0300 Min. :-1.1100
## 1st Qu.: 0.1600 1st Qu.:-0.2100
## Median : 0.3600 Median : 0.0150
## Mean : 0.2690 Mean : 0.0605
## 3rd Qu.: 0.4625 3rd Qu.: 0.1450
## Max. : 1.0600 Max. : 1.9100
##
## gyros_dumbbell_z accel_dumbbell_x accel_dumbbell_y accel_dumbbell_z
## Min. :-1.180 Min. :-159.00 Min. :-30.00 Min. :-221.0
## 1st Qu.:-0.485 1st Qu.:-140.25 1st Qu.: 5.75 1st Qu.:-192.2
## Median :-0.280 Median : -19.00 Median : 71.50 Median : -3.0
## Mean :-0.266 Mean : -47.60 Mean : 70.55 Mean : -60.0
## 3rd Qu.:-0.165 3rd Qu.: 15.75 3rd Qu.:151.25 3rd Qu.: 76.5
## Max. : 1.100 Max. : 185.00 Max. :166.00 Max. : 100.0
##
## magnet_dumbbell_x magnet_dumbbell_y magnet_dumbbell_z roll_forearm
## Min. :-576.0 Min. :-558.0 Min. :-164.00 Min. :-176.00
## 1st Qu.:-528.0 1st Qu.: 259.5 1st Qu.: -33.00 1st Qu.: -40.25
## Median :-508.5 Median : 316.0 Median : 49.50 Median : 94.20
## Mean :-304.2 Mean : 189.3 Mean : 71.40 Mean : 38.66
## 3rd Qu.:-317.0 3rd Qu.: 348.2 3rd Qu.: 96.25 3rd Qu.: 143.25
## Max. : 523.0 Max. : 403.0 Max. : 368.00 Max. : 176.00
##
## pitch_forearm yaw_forearm kurtosis_roll_forearm
## Min. :-63.500 Min. :-168.000 Mode:logical
## 1st Qu.:-11.457 1st Qu.: -93.375 NA's:20
## Median : 8.830 Median : -19.250
## Mean : 7.099 Mean : 2.195
## 3rd Qu.: 28.500 3rd Qu.: 104.500
## Max. : 59.300 Max. : 159.000
##
## kurtosis_picth_forearm kurtosis_yaw_forearm skewness_roll_forearm
## Mode:logical Mode:logical Mode:logical
## NA's:20 NA's:20 NA's:20
##
##
##
##
##
## skewness_pitch_forearm skewness_yaw_forearm max_roll_forearm
## Mode:logical Mode:logical NA:20
## NA's:20 NA's:20
##
##
##
##
##
## max_picth_forearm max_yaw_forearm min_roll_forearm min_pitch_forearm
## NA:20 Mode:logical NA:20 NA:20
## NA's:20
##
##
##
##
##
## min_yaw_forearm amplitude_roll_forearm amplitude_pitch_forearm
## Mode:logical NA:20 NA:20
## NA's:20
##
##
##
##
##
## amplitude_yaw_forearm total_accel_forearm var_accel_forearm
## Mode:logical Min. :21.00 NA:20
## NA's:20 1st Qu.:24.00
## Median :32.50
## Mean :32.05
## 3rd Qu.:36.75
## Max. :47.00
##
## avg_roll_forearm stddev_roll_forearm var_roll_forearm avg_pitch_forearm
## NA:20 NA:20 NA:20 NA:20
##
##
##
##
##
##
## stddev_pitch_forearm var_pitch_forearm avg_yaw_forearm stddev_yaw_forearm
## NA:20 NA:20 NA:20 NA:20
##
##
##
##
##
##
## var_yaw_forearm gyros_forearm_x gyros_forearm_y gyros_forearm_z
## NA:20 Min. :-1.0600 Min. :-5.9700 Min. :-1.2600
## 1st Qu.:-0.5850 1st Qu.:-1.2875 1st Qu.:-0.0975
## Median : 0.0200 Median : 0.0350 Median : 0.2300
## Mean :-0.0200 Mean :-0.0415 Mean : 0.2610
## 3rd Qu.: 0.2925 3rd Qu.: 2.0475 3rd Qu.: 0.7625
## Max. : 1.3800 Max. : 4.2600 Max. : 1.8000
##
## accel_forearm_x accel_forearm_y accel_forearm_z magnet_forearm_x
## Min. :-212.0 Min. :-331.0 Min. :-282.0 Min. :-714.0
## 1st Qu.:-114.8 1st Qu.: 8.5 1st Qu.:-199.0 1st Qu.:-427.2
## Median : 86.0 Median : 138.0 Median :-148.5 Median :-189.5
## Mean : 38.8 Mean : 125.3 Mean : -93.7 Mean :-159.2
## 3rd Qu.: 166.2 3rd Qu.: 268.0 3rd Qu.: -31.0 3rd Qu.: 41.5
## Max. : 232.0 Max. : 406.0 Max. : 179.0 Max. : 532.0
##
## magnet_forearm_y magnet_forearm_z problem_id
## Min. :-787.0 Min. :-32.0 Min. : 1.00
## 1st Qu.:-328.8 1st Qu.:275.2 1st Qu.: 5.75
## Median : 487.0 Median :491.5 Median :10.50
## Mean : 191.8 Mean :460.2 Mean :10.50
## 3rd Qu.: 720.8 3rd Qu.:661.5 3rd Qu.:15.25
## Max. : 800.0 Max. :884.0 Max. :20.00
##
# Lets make the character values to numeric in Training Dataset
for(i in c(8:ncol(TrainingData)-1)) {
TrainingData[, i] = as.numeric(as.character(TrainingData[, i]))
}
# And also in Test Dataset
for(i in c(8:ncol(TestData)-1)) {
TestData[, i] = as.numeric(as.character(TestData[, i]))
}
# We noticed that there are Some columns which were mostly blank (& contain only NAs).
# Considering that These columns do not contribute to the prediction, at least in my exercise,
# I, therefore, choose only to include columns with complete cases and remove the non-contributing columns.
# Also I choose to remove columns such as "user name"", "timestamps", "windows" ect. from the dataset.
newtrainingdata <- colnames(TrainingData[colSums(is.na(TrainingData)) == 0])[-(1:7)]
NewTrainingData <- TrainingData[newtrainingdata]
9. Using Random Forest and Applying ML
# Method 1
# Next in the steps below, I will build 5 random forests with 150 trees each.
# I will use the powers of "Parallel Processing" in random forests in R to build the model.
# This speeds up the overall computing in the system.
# Register "Parallel Processing"
registerDoParallel()
p <- training[-ncol(training)]
q <- training$classe
randfor <- foreach(ntree = rep(150, 6), .combine = randomForest::combine, .packages = "randomForest") %dopar% { randomForest(p, q, ntree = ntree) }
# Report of Errors in the Training Data
predictions1 <- predict(randfor, newdata = training)
confusionMatrix(predictions1, training$classe)
## Confusion Matrix and Statistics
##
## Reference
## Prediction A B C D E
## A 4185 0 0 0 0
## B 0 2848 0 0 0
## C 0 0 2567 0 0
## D 0 0 0 2412 0
## E 0 0 0 0 2706
##
## Overall Statistics
##
## Accuracy : 1
## 95% CI : (0.9997, 1)
## No Information Rate : 0.2843
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 1
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: A Class: B Class: C Class: D Class: E
## Sensitivity 1.0000 1.0000 1.0000 1.0000 1.0000
## Specificity 1.0000 1.0000 1.0000 1.0000 1.0000
## Pos Pred Value 1.0000 1.0000 1.0000 1.0000 1.0000
## Neg Pred Value 1.0000 1.0000 1.0000 1.0000 1.0000
## Prevalence 0.2843 0.1935 0.1744 0.1639 0.1839
## Detection Rate 0.2843 0.1935 0.1744 0.1639 0.1839
## Detection Prevalence 0.2843 0.1935 0.1744 0.1639 0.1839
## Balanced Accuracy 1.0000 1.0000 1.0000 1.0000 1.0000
# Report of Errors in the Test Data
predictions2 <- predict(randfor, newdata = testing)
confusionMatrix(predictions2, testing$classe)
## Confusion Matrix and Statistics
##
## Reference
## Prediction A B C D E
## A 1395 4 0 0 0
## B 0 942 6 0 0
## C 0 3 848 9 2
## D 0 0 1 795 3
## E 0 0 0 0 896
##
## Overall Statistics
##
## Accuracy : 0.9943
## 95% CI : (0.9918, 0.9962)
## No Information Rate : 0.2845
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 0.9928
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: A Class: B Class: C Class: D Class: E
## Sensitivity 1.0000 0.9926 0.9918 0.9888 0.9945
## Specificity 0.9989 0.9985 0.9965 0.9990 1.0000
## Pos Pred Value 0.9971 0.9937 0.9838 0.9950 1.0000
## Neg Pred Value 1.0000 0.9982 0.9983 0.9978 0.9988
## Prevalence 0.2845 0.1935 0.1743 0.1639 0.1837
## Detection Rate 0.2845 0.1921 0.1729 0.1621 0.1827
## Detection Prevalence 0.2853 0.1933 0.1758 0.1629 0.1827
## Balanced Accuracy 0.9994 0.9956 0.9942 0.9939 0.9972