Students - Zain Asif / Ahmed Saeed
Our project is based upon analysis and prediction on healthcare data that is readily available. Users use healthcare gadgets to track their data. Examples, Jawbone Up, Nike FuelBand and Fitbit. These are all products that collect large data regarding personal activity of individiduals. In this project, our goal will be to use data from accelerometers on the belt, forearm, arm, and dumbell of 6 participants. They were asked to perform barbell lifts correctly and incorrectly in 5 different ways.
The data is analyzed.
install.packages("caret")
install.packages("dplyr")
install.packages("randomForest")
## Loading the required packages
library(caret)
## Warning: package 'caret' was built under R version 3.3.3
## Loading required package: lattice
## Warning: package 'lattice' was built under R version 3.3.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.3.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 3.3.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(randomForest)
## Warning: package 'randomForest' was built under R version 3.3.3
## randomForest 4.6-12
## Type rfNews() to see new features/changes/bug fixes.
##
## Attaching package: 'randomForest'
## The following object is masked from 'package:dplyr':
##
## combine
## The following object is masked from 'package:ggplot2':
##
## margin
Read the training data into R, identifying “NA”, “” and “#DIV/0!” as NA strings
## Loading the required packages
pmltrain <- read.csv("./Data/pml-training.csv",na.strings=c("NA","","#DIV/0!"))
head(pmltrain)
## X user_name raw_timestamp_part_1 raw_timestamp_part_2 cvtd_timestamp
## 1 1 carlitos 1323084231 788290 05/12/2011 11:23
## 2 2 carlitos 1323084231 808298 05/12/2011 11:23
## 3 3 carlitos 1323084231 820366 05/12/2011 11:23
## 4 4 carlitos 1323084232 120339 05/12/2011 11:23
## 5 5 carlitos 1323084232 196328 05/12/2011 11:23
## 6 6 carlitos 1323084232 304277 05/12/2011 11:23
## new_window num_window roll_belt pitch_belt yaw_belt total_accel_belt
## 1 no 11 1.41 8.07 -94.4 3
## 2 no 11 1.41 8.07 -94.4 3
## 3 no 11 1.42 8.07 -94.4 3
## 4 no 12 1.48 8.05 -94.4 3
## 5 no 12 1.48 8.07 -94.4 3
## 6 no 12 1.45 8.06 -94.4 3
## kurtosis_roll_belt kurtosis_picth_belt kurtosis_yaw_belt
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## skewness_roll_belt skewness_roll_belt.1 skewness_yaw_belt max_roll_belt
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## max_picth_belt max_yaw_belt min_roll_belt min_pitch_belt min_yaw_belt
## 1 NA NA NA NA NA
## 2 NA NA NA NA NA
## 3 NA NA NA NA NA
## 4 NA NA NA NA NA
## 5 NA NA NA NA NA
## 6 NA NA NA NA NA
## amplitude_roll_belt amplitude_pitch_belt amplitude_yaw_belt
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## var_total_accel_belt avg_roll_belt stddev_roll_belt var_roll_belt
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## avg_pitch_belt stddev_pitch_belt var_pitch_belt avg_yaw_belt
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## stddev_yaw_belt var_yaw_belt gyros_belt_x gyros_belt_y gyros_belt_z
## 1 NA NA 0.00 0.00 -0.02
## 2 NA NA 0.02 0.00 -0.02
## 3 NA NA 0.00 0.00 -0.02
## 4 NA NA 0.02 0.00 -0.03
## 5 NA NA 0.02 0.02 -0.02
## 6 NA NA 0.02 0.00 -0.02
## accel_belt_x accel_belt_y accel_belt_z magnet_belt_x magnet_belt_y
## 1 -21 4 22 -3 599
## 2 -22 4 22 -7 608
## 3 -20 5 23 -2 600
## 4 -22 3 21 -6 604
## 5 -21 2 24 -6 600
## 6 -21 4 21 0 603
## magnet_belt_z roll_arm pitch_arm yaw_arm total_accel_arm var_accel_arm
## 1 -313 -128 22.5 -161 34 NA
## 2 -311 -128 22.5 -161 34 NA
## 3 -305 -128 22.5 -161 34 NA
## 4 -310 -128 22.1 -161 34 NA
## 5 -302 -128 22.1 -161 34 NA
## 6 -312 -128 22.0 -161 34 NA
## avg_roll_arm stddev_roll_arm var_roll_arm avg_pitch_arm stddev_pitch_arm
## 1 NA NA NA NA NA
## 2 NA NA NA NA NA
## 3 NA NA NA NA NA
## 4 NA NA NA NA NA
## 5 NA NA NA NA NA
## 6 NA NA NA NA NA
## var_pitch_arm avg_yaw_arm stddev_yaw_arm var_yaw_arm gyros_arm_x
## 1 NA NA NA NA 0.00
## 2 NA NA NA NA 0.02
## 3 NA NA NA NA 0.02
## 4 NA NA NA NA 0.02
## 5 NA NA NA NA 0.00
## 6 NA NA NA NA 0.02
## gyros_arm_y gyros_arm_z accel_arm_x accel_arm_y accel_arm_z magnet_arm_x
## 1 0.00 -0.02 -288 109 -123 -368
## 2 -0.02 -0.02 -290 110 -125 -369
## 3 -0.02 -0.02 -289 110 -126 -368
## 4 -0.03 0.02 -289 111 -123 -372
## 5 -0.03 0.00 -289 111 -123 -374
## 6 -0.03 0.00 -289 111 -122 -369
## magnet_arm_y magnet_arm_z kurtosis_roll_arm kurtosis_picth_arm
## 1 337 516 NA NA
## 2 337 513 NA NA
## 3 344 513 NA NA
## 4 344 512 NA NA
## 5 337 506 NA NA
## 6 342 513 NA NA
## kurtosis_yaw_arm skewness_roll_arm skewness_pitch_arm skewness_yaw_arm
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## max_roll_arm max_picth_arm max_yaw_arm min_roll_arm min_pitch_arm
## 1 NA NA NA NA NA
## 2 NA NA NA NA NA
## 3 NA NA NA NA NA
## 4 NA NA NA NA NA
## 5 NA NA NA NA NA
## 6 NA NA NA NA NA
## min_yaw_arm amplitude_roll_arm amplitude_pitch_arm amplitude_yaw_arm
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## roll_dumbbell pitch_dumbbell yaw_dumbbell kurtosis_roll_dumbbell
## 1 13.05217 -70.49400 -84.87394 NA
## 2 13.13074 -70.63751 -84.71065 NA
## 3 12.85075 -70.27812 -85.14078 NA
## 4 13.43120 -70.39379 -84.87363 NA
## 5 13.37872 -70.42856 -84.85306 NA
## 6 13.38246 -70.81759 -84.46500 NA
## kurtosis_picth_dumbbell kurtosis_yaw_dumbbell skewness_roll_dumbbell
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## skewness_pitch_dumbbell skewness_yaw_dumbbell max_roll_dumbbell
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## max_picth_dumbbell max_yaw_dumbbell min_roll_dumbbell min_pitch_dumbbell
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## min_yaw_dumbbell amplitude_roll_dumbbell amplitude_pitch_dumbbell
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## amplitude_yaw_dumbbell total_accel_dumbbell var_accel_dumbbell
## 1 NA 37 NA
## 2 NA 37 NA
## 3 NA 37 NA
## 4 NA 37 NA
## 5 NA 37 NA
## 6 NA 37 NA
## avg_roll_dumbbell stddev_roll_dumbbell var_roll_dumbbell
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## avg_pitch_dumbbell stddev_pitch_dumbbell var_pitch_dumbbell
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## avg_yaw_dumbbell stddev_yaw_dumbbell var_yaw_dumbbell gyros_dumbbell_x
## 1 NA NA NA 0
## 2 NA NA NA 0
## 3 NA NA NA 0
## 4 NA NA NA 0
## 5 NA NA NA 0
## 6 NA NA NA 0
## gyros_dumbbell_y gyros_dumbbell_z accel_dumbbell_x accel_dumbbell_y
## 1 -0.02 0.00 -234 47
## 2 -0.02 0.00 -233 47
## 3 -0.02 0.00 -232 46
## 4 -0.02 -0.02 -232 48
## 5 -0.02 0.00 -233 48
## 6 -0.02 0.00 -234 48
## accel_dumbbell_z magnet_dumbbell_x magnet_dumbbell_y magnet_dumbbell_z
## 1 -271 -559 293 -65
## 2 -269 -555 296 -64
## 3 -270 -561 298 -63
## 4 -269 -552 303 -60
## 5 -270 -554 292 -68
## 6 -269 -558 294 -66
## roll_forearm pitch_forearm yaw_forearm kurtosis_roll_forearm
## 1 28.4 -63.9 -153 NA
## 2 28.3 -63.9 -153 NA
## 3 28.3 -63.9 -152 NA
## 4 28.1 -63.9 -152 NA
## 5 28.0 -63.9 -152 NA
## 6 27.9 -63.9 -152 NA
## kurtosis_picth_forearm kurtosis_yaw_forearm skewness_roll_forearm
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## skewness_pitch_forearm skewness_yaw_forearm max_roll_forearm
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## max_picth_forearm max_yaw_forearm min_roll_forearm min_pitch_forearm
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## min_yaw_forearm amplitude_roll_forearm amplitude_pitch_forearm
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## amplitude_yaw_forearm total_accel_forearm var_accel_forearm
## 1 NA 36 NA
## 2 NA 36 NA
## 3 NA 36 NA
## 4 NA 36 NA
## 5 NA 36 NA
## 6 NA 36 NA
## avg_roll_forearm stddev_roll_forearm var_roll_forearm avg_pitch_forearm
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## stddev_pitch_forearm var_pitch_forearm avg_yaw_forearm
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## stddev_yaw_forearm var_yaw_forearm gyros_forearm_x gyros_forearm_y
## 1 NA NA 0.03 0.00
## 2 NA NA 0.02 0.00
## 3 NA NA 0.03 -0.02
## 4 NA NA 0.02 -0.02
## 5 NA NA 0.02 0.00
## 6 NA NA 0.02 -0.02
## gyros_forearm_z accel_forearm_x accel_forearm_y accel_forearm_z
## 1 -0.02 192 203 -215
## 2 -0.02 192 203 -216
## 3 0.00 196 204 -213
## 4 0.00 189 206 -214
## 5 -0.02 189 206 -214
## 6 -0.03 193 203 -215
## magnet_forearm_x magnet_forearm_y magnet_forearm_z classe
## 1 -17 654 476 A
## 2 -18 661 473 A
## 3 -18 658 469 A
## 4 -16 658 469 A
## 5 -17 655 473 A
## 6 -9 660 478 A
Split the plmtrain into a training set (for model training) and a test set (for predicting the out of sample error), splitting on the classe variable (this is t
set.seed(555)
inTrain <- createDataPartition(y = pmltrain$classe, list = FALSE, p=0.7)
trainData <- pmltrain[inTrain,]
testData <- pmltrain[-inTrain,]
head(trainData)
## X user_name raw_timestamp_part_1 raw_timestamp_part_2 cvtd_timestamp
## 2 2 carlitos 1323084231 808298 05/12/2011 11:23
## 3 3 carlitos 1323084231 820366 05/12/2011 11:23
## 4 4 carlitos 1323084232 120339 05/12/2011 11:23
## 5 5 carlitos 1323084232 196328 05/12/2011 11:23
## 6 6 carlitos 1323084232 304277 05/12/2011 11:23
## 7 7 carlitos 1323084232 368296 05/12/2011 11:23
## new_window num_window roll_belt pitch_belt yaw_belt total_accel_belt
## 2 no 11 1.41 8.07 -94.4 3
## 3 no 11 1.42 8.07 -94.4 3
## 4 no 12 1.48 8.05 -94.4 3
## 5 no 12 1.48 8.07 -94.4 3
## 6 no 12 1.45 8.06 -94.4 3
## 7 no 12 1.42 8.09 -94.4 3
## kurtosis_roll_belt kurtosis_picth_belt kurtosis_yaw_belt
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## 7 NA NA NA
## skewness_roll_belt skewness_roll_belt.1 skewness_yaw_belt max_roll_belt
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## max_picth_belt max_yaw_belt min_roll_belt min_pitch_belt min_yaw_belt
## 2 NA NA NA NA NA
## 3 NA NA NA NA NA
## 4 NA NA NA NA NA
## 5 NA NA NA NA NA
## 6 NA NA NA NA NA
## 7 NA NA NA NA NA
## amplitude_roll_belt amplitude_pitch_belt amplitude_yaw_belt
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## 7 NA NA NA
## var_total_accel_belt avg_roll_belt stddev_roll_belt var_roll_belt
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## avg_pitch_belt stddev_pitch_belt var_pitch_belt avg_yaw_belt
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## stddev_yaw_belt var_yaw_belt gyros_belt_x gyros_belt_y gyros_belt_z
## 2 NA NA 0.02 0.00 -0.02
## 3 NA NA 0.00 0.00 -0.02
## 4 NA NA 0.02 0.00 -0.03
## 5 NA NA 0.02 0.02 -0.02
## 6 NA NA 0.02 0.00 -0.02
## 7 NA NA 0.02 0.00 -0.02
## accel_belt_x accel_belt_y accel_belt_z magnet_belt_x magnet_belt_y
## 2 -22 4 22 -7 608
## 3 -20 5 23 -2 600
## 4 -22 3 21 -6 604
## 5 -21 2 24 -6 600
## 6 -21 4 21 0 603
## 7 -22 3 21 -4 599
## magnet_belt_z roll_arm pitch_arm yaw_arm total_accel_arm var_accel_arm
## 2 -311 -128 22.5 -161 34 NA
## 3 -305 -128 22.5 -161 34 NA
## 4 -310 -128 22.1 -161 34 NA
## 5 -302 -128 22.1 -161 34 NA
## 6 -312 -128 22.0 -161 34 NA
## 7 -311 -128 21.9 -161 34 NA
## avg_roll_arm stddev_roll_arm var_roll_arm avg_pitch_arm stddev_pitch_arm
## 2 NA NA NA NA NA
## 3 NA NA NA NA NA
## 4 NA NA NA NA NA
## 5 NA NA NA NA NA
## 6 NA NA NA NA NA
## 7 NA NA NA NA NA
## var_pitch_arm avg_yaw_arm stddev_yaw_arm var_yaw_arm gyros_arm_x
## 2 NA NA NA NA 0.02
## 3 NA NA NA NA 0.02
## 4 NA NA NA NA 0.02
## 5 NA NA NA NA 0.00
## 6 NA NA NA NA 0.02
## 7 NA NA NA NA 0.00
## gyros_arm_y gyros_arm_z accel_arm_x accel_arm_y accel_arm_z magnet_arm_x
## 2 -0.02 -0.02 -290 110 -125 -369
## 3 -0.02 -0.02 -289 110 -126 -368
## 4 -0.03 0.02 -289 111 -123 -372
## 5 -0.03 0.00 -289 111 -123 -374
## 6 -0.03 0.00 -289 111 -122 -369
## 7 -0.03 0.00 -289 111 -125 -373
## magnet_arm_y magnet_arm_z kurtosis_roll_arm kurtosis_picth_arm
## 2 337 513 NA NA
## 3 344 513 NA NA
## 4 344 512 NA NA
## 5 337 506 NA NA
## 6 342 513 NA NA
## 7 336 509 NA NA
## kurtosis_yaw_arm skewness_roll_arm skewness_pitch_arm skewness_yaw_arm
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## max_roll_arm max_picth_arm max_yaw_arm min_roll_arm min_pitch_arm
## 2 NA NA NA NA NA
## 3 NA NA NA NA NA
## 4 NA NA NA NA NA
## 5 NA NA NA NA NA
## 6 NA NA NA NA NA
## 7 NA NA NA NA NA
## min_yaw_arm amplitude_roll_arm amplitude_pitch_arm amplitude_yaw_arm
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## roll_dumbbell pitch_dumbbell yaw_dumbbell kurtosis_roll_dumbbell
## 2 13.13074 -70.63751 -84.71065 NA
## 3 12.85075 -70.27812 -85.14078 NA
## 4 13.43120 -70.39379 -84.87363 NA
## 5 13.37872 -70.42856 -84.85306 NA
## 6 13.38246 -70.81759 -84.46500 NA
## 7 13.12695 -70.24757 -85.09961 NA
## kurtosis_picth_dumbbell kurtosis_yaw_dumbbell skewness_roll_dumbbell
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## 7 NA NA NA
## skewness_pitch_dumbbell skewness_yaw_dumbbell max_roll_dumbbell
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## 7 NA NA NA
## max_picth_dumbbell max_yaw_dumbbell min_roll_dumbbell min_pitch_dumbbell
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## min_yaw_dumbbell amplitude_roll_dumbbell amplitude_pitch_dumbbell
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## 7 NA NA NA
## amplitude_yaw_dumbbell total_accel_dumbbell var_accel_dumbbell
## 2 NA 37 NA
## 3 NA 37 NA
## 4 NA 37 NA
## 5 NA 37 NA
## 6 NA 37 NA
## 7 NA 37 NA
## avg_roll_dumbbell stddev_roll_dumbbell var_roll_dumbbell
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## 7 NA NA NA
## avg_pitch_dumbbell stddev_pitch_dumbbell var_pitch_dumbbell
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## 7 NA NA NA
## avg_yaw_dumbbell stddev_yaw_dumbbell var_yaw_dumbbell gyros_dumbbell_x
## 2 NA NA NA 0
## 3 NA NA NA 0
## 4 NA NA NA 0
## 5 NA NA NA 0
## 6 NA NA NA 0
## 7 NA NA NA 0
## gyros_dumbbell_y gyros_dumbbell_z accel_dumbbell_x accel_dumbbell_y
## 2 -0.02 0.00 -233 47
## 3 -0.02 0.00 -232 46
## 4 -0.02 -0.02 -232 48
## 5 -0.02 0.00 -233 48
## 6 -0.02 0.00 -234 48
## 7 -0.02 0.00 -232 47
## accel_dumbbell_z magnet_dumbbell_x magnet_dumbbell_y magnet_dumbbell_z
## 2 -269 -555 296 -64
## 3 -270 -561 298 -63
## 4 -269 -552 303 -60
## 5 -270 -554 292 -68
## 6 -269 -558 294 -66
## 7 -270 -551 295 -70
## roll_forearm pitch_forearm yaw_forearm kurtosis_roll_forearm
## 2 28.3 -63.9 -153 NA
## 3 28.3 -63.9 -152 NA
## 4 28.1 -63.9 -152 NA
## 5 28.0 -63.9 -152 NA
## 6 27.9 -63.9 -152 NA
## 7 27.9 -63.9 -152 NA
## kurtosis_picth_forearm kurtosis_yaw_forearm skewness_roll_forearm
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## 7 NA NA NA
## skewness_pitch_forearm skewness_yaw_forearm max_roll_forearm
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## 7 NA NA NA
## max_picth_forearm max_yaw_forearm min_roll_forearm min_pitch_forearm
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## min_yaw_forearm amplitude_roll_forearm amplitude_pitch_forearm
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## 7 NA NA NA
## amplitude_yaw_forearm total_accel_forearm var_accel_forearm
## 2 NA 36 NA
## 3 NA 36 NA
## 4 NA 36 NA
## 5 NA 36 NA
## 6 NA 36 NA
## 7 NA 36 NA
## avg_roll_forearm stddev_roll_forearm var_roll_forearm avg_pitch_forearm
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## stddev_pitch_forearm var_pitch_forearm avg_yaw_forearm
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## 7 NA NA NA
## stddev_yaw_forearm var_yaw_forearm gyros_forearm_x gyros_forearm_y
## 2 NA NA 0.02 0.00
## 3 NA NA 0.03 -0.02
## 4 NA NA 0.02 -0.02
## 5 NA NA 0.02 0.00
## 6 NA NA 0.02 -0.02
## 7 NA NA 0.02 0.00
## gyros_forearm_z accel_forearm_x accel_forearm_y accel_forearm_z
## 2 -0.02 192 203 -216
## 3 0.00 196 204 -213
## 4 0.00 189 206 -214
## 5 -0.02 189 206 -214
## 6 -0.03 193 203 -215
## 7 -0.02 195 205 -215
## magnet_forearm_x magnet_forearm_y magnet_forearm_z classe
## 2 -18 661 473 A
## 3 -18 658 469 A
## 4 -16 658 469 A
## 5 -17 655 473 A
## 6 -9 660 478 A
## 7 -18 659 470 A
str(trainData)
## 'data.frame': 13737 obs. of 160 variables:
## $ X : int 2 3 4 5 6 7 8 9 10 11 ...
## $ 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 1323084232 1323084232 1323084232 1323084232 1323084232 1323084232 1323084232 1323084232 ...
## $ raw_timestamp_part_2 : int 808298 820366 120339 196328 304277 368296 440390 484323 484434 500302 ...
## $ 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 12 12 12 12 12 12 12 12 ...
## $ roll_belt : num 1.41 1.42 1.48 1.48 1.45 1.42 1.42 1.43 1.45 1.45 ...
## $ pitch_belt : num 8.07 8.07 8.05 8.07 8.06 8.09 8.13 8.16 8.17 8.18 ...
## $ 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 : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_picth_belt : int NA NA NA NA NA NA NA NA NA NA ...
## $ max_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_pitch_belt : int NA NA NA NA NA NA NA NA NA NA ...
## $ min_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_pitch_belt : int NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_total_accel_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_pitch_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_pitch_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_pitch_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ gyros_belt_x : num 0.02 0 0.02 0.02 0.02 0.02 0.02 0.02 0.03 0.03 ...
## $ gyros_belt_y : num 0 0 0 0.02 0 0 0 0 0 0 ...
## $ gyros_belt_z : num -0.02 -0.02 -0.03 -0.02 -0.02 -0.02 -0.02 -0.02 0 -0.02 ...
## $ accel_belt_x : int -22 -20 -22 -21 -21 -22 -22 -20 -21 -21 ...
## $ accel_belt_y : int 4 5 3 2 4 3 4 2 4 2 ...
## $ accel_belt_z : int 22 23 21 24 21 21 21 24 22 23 ...
## $ magnet_belt_x : int -7 -2 -6 -6 0 -4 -2 1 -3 -5 ...
## $ magnet_belt_y : int 608 600 604 600 603 599 603 602 609 596 ...
## $ magnet_belt_z : int -311 -305 -310 -302 -312 -311 -313 -312 -308 -317 ...
## $ roll_arm : num -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 ...
## $ pitch_arm : num 22.5 22.5 22.1 22.1 22 21.9 21.8 21.7 21.6 21.5 ...
## $ 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 : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_yaw_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_yaw_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_yaw_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ gyros_arm_x : num 0.02 0.02 0.02 0 0.02 0 0.02 0.02 0.02 0.02 ...
## $ gyros_arm_y : num -0.02 -0.02 -0.03 -0.03 -0.03 -0.03 -0.02 -0.03 -0.03 -0.03 ...
## $ gyros_arm_z : num -0.02 -0.02 0.02 0 0 0 0 -0.02 -0.02 0 ...
## $ accel_arm_x : int -290 -289 -289 -289 -289 -289 -289 -288 -288 -290 ...
## $ accel_arm_y : int 110 110 111 111 111 111 111 109 110 110 ...
## $ accel_arm_z : int -125 -126 -123 -123 -122 -125 -124 -122 -124 -123 ...
## $ magnet_arm_x : int -369 -368 -372 -374 -369 -373 -372 -369 -376 -366 ...
## $ magnet_arm_y : int 337 344 344 337 342 336 338 341 334 339 ...
## $ magnet_arm_z : int 513 513 512 506 513 509 510 518 516 509 ...
## $ 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 : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_picth_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_yaw_arm : int NA NA NA NA NA NA NA NA NA NA ...
## $ min_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_yaw_arm : int NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_yaw_arm : int NA NA NA NA NA NA NA NA NA NA ...
## $ roll_dumbbell : num 13.1 12.9 13.4 13.4 13.4 ...
## $ pitch_dumbbell : num -70.6 -70.3 -70.4 -70.4 -70.8 ...
## $ yaw_dumbbell : num -84.7 -85.1 -84.9 -84.9 -84.5 ...
## $ 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 : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_picth_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_yaw_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_roll_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_pitch_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_yaw_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_roll_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## [list output truncated]
str(testData)
## 'data.frame': 5885 obs. of 160 variables:
## $ X : int 1 14 19 20 21 27 31 37 39 50 ...
## $ user_name : Factor w/ 6 levels "adelmo","carlitos",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ raw_timestamp_part_1 : int 1323084231 1323084232 1323084232 1323084232 1323084232 1323084233 1323084233 1323084233 1323084233 1323084233 ...
## $ raw_timestamp_part_2 : int 788290 576390 740353 788335 876301 72305 152353 448310 504293 840318 ...
## $ 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 12 12 12 12 13 13 13 13 13 ...
## $ roll_belt : num 1.41 1.42 1.57 1.59 1.6 1.54 1.53 1.41 1.4 1.3 ...
## $ pitch_belt : num 8.07 8.21 8.06 8.07 8.1 8.11 8.17 8.11 8.04 7.68 ...
## $ yaw_belt : num -94.4 -94.4 -94.4 -94.4 -94.4 -94.4 -94.4 -94.3 -94.3 -94.2 ...
## $ 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 : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_picth_belt : int NA NA NA NA NA NA NA NA NA NA ...
## $ max_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_pitch_belt : int NA NA NA NA NA NA NA NA NA NA ...
## $ min_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_pitch_belt : int NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_total_accel_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_pitch_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_pitch_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_pitch_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ gyros_belt_x : num 0 0.02 0 0.02 0.02 0.03 0.02 0 0.02 0 ...
## $ gyros_belt_y : num 0 0 0 0 0 0 0.02 0.02 0 0 ...
## $ gyros_belt_z : num -0.02 -0.02 -0.02 -0.02 -0.02 -0.02 -0.02 -0.02 -0.02 -0.02 ...
## $ accel_belt_x : int -21 -22 -20 -22 -20 -22 -21 -20 -21 -18 ...
## $ accel_belt_y : int 4 4 5 5 1 3 4 3 3 4 ...
## $ accel_belt_z : int 22 21 21 22 20 22 22 22 21 23 ...
## $ magnet_belt_x : int -3 -8 -3 -1 -10 3 0 0 -2 1 ...
## $ magnet_belt_y : int 599 598 603 604 607 597 601 606 601 597 ...
## $ magnet_belt_z : int -313 -310 -313 -314 -304 -320 -308 -317 -319 -316 ...
## $ roll_arm : num -128 -128 -129 -129 -129 -129 -129 -130 -130 -130 ...
## $ pitch_arm : num 22.5 21.4 21.2 21.1 20.9 20.7 20.7 20.3 20.2 19.5 ...
## $ yaw_arm : num -161 -161 -161 -161 -161 -161 -161 -161 -161 -162 ...
## $ total_accel_arm : int 34 34 34 34 34 34 34 34 34 34 ...
## $ var_accel_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_yaw_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_yaw_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_yaw_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ gyros_arm_x : num 0 0.02 0.02 0.02 0.03 -0.02 0 0.03 0.02 0 ...
## $ gyros_arm_y : num 0 0 -0.02 -0.02 -0.02 -0.02 0 -0.02 -0.02 -0.02 ...
## $ gyros_arm_z : num -0.02 -0.03 -0.02 -0.02 -0.02 0 0 -0.02 0 -0.02 ...
## $ accel_arm_x : int -288 -288 -289 -289 -288 -289 -290 -290 -289 -289 ...
## $ accel_arm_y : int 109 111 109 109 111 111 109 111 112 109 ...
## $ accel_arm_z : int -123 -124 -122 -125 -124 -126 -126 -124 -122 -125 ...
## $ magnet_arm_x : int -368 -371 -369 -373 -375 -371 -371 -363 -369 -372 ...
## $ magnet_arm_y : int 337 331 340 335 337 338 331 342 334 335 ...
## $ magnet_arm_z : int 516 523 509 514 513 505 512 515 510 515 ...
## $ 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 : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_picth_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_yaw_arm : int NA NA NA NA NA NA NA NA NA NA ...
## $ min_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_yaw_arm : int NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_yaw_arm : int NA NA NA NA NA NA NA NA NA NA ...
## $ roll_dumbbell : num 13.1 13.4 13.1 12.8 13.4 ...
## $ pitch_dumbbell : num -70.5 -71 -70.3 -70.3 -70.8 ...
## $ yaw_dumbbell : num -84.9 -84.3 -85.1 -85.1 -84.5 ...
## $ 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 : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_picth_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_yaw_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_roll_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_pitch_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_yaw_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_roll_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## [list output truncated]
head(testData)
## X user_name raw_timestamp_part_1 raw_timestamp_part_2 cvtd_timestamp
## 1 1 carlitos 1323084231 788290 05/12/2011 11:23
## 14 14 carlitos 1323084232 576390 05/12/2011 11:23
## 19 19 carlitos 1323084232 740353 05/12/2011 11:23
## 20 20 carlitos 1323084232 788335 05/12/2011 11:23
## 21 21 carlitos 1323084232 876301 05/12/2011 11:23
## 27 27 carlitos 1323084233 72305 05/12/2011 11:23
## new_window num_window roll_belt pitch_belt yaw_belt total_accel_belt
## 1 no 11 1.41 8.07 -94.4 3
## 14 no 12 1.42 8.21 -94.4 3
## 19 no 12 1.57 8.06 -94.4 3
## 20 no 12 1.59 8.07 -94.4 3
## 21 no 12 1.60 8.10 -94.4 3
## 27 no 13 1.54 8.11 -94.4 3
## kurtosis_roll_belt kurtosis_picth_belt kurtosis_yaw_belt
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## skewness_roll_belt skewness_roll_belt.1 skewness_yaw_belt max_roll_belt
## 1 NA NA NA NA
## 14 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 27 NA NA NA NA
## max_picth_belt max_yaw_belt min_roll_belt min_pitch_belt min_yaw_belt
## 1 NA NA NA NA NA
## 14 NA NA NA NA NA
## 19 NA NA NA NA NA
## 20 NA NA NA NA NA
## 21 NA NA NA NA NA
## 27 NA NA NA NA NA
## amplitude_roll_belt amplitude_pitch_belt amplitude_yaw_belt
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## var_total_accel_belt avg_roll_belt stddev_roll_belt var_roll_belt
## 1 NA NA NA NA
## 14 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 27 NA NA NA NA
## avg_pitch_belt stddev_pitch_belt var_pitch_belt avg_yaw_belt
## 1 NA NA NA NA
## 14 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 27 NA NA NA NA
## stddev_yaw_belt var_yaw_belt gyros_belt_x gyros_belt_y gyros_belt_z
## 1 NA NA 0.00 0 -0.02
## 14 NA NA 0.02 0 -0.02
## 19 NA NA 0.00 0 -0.02
## 20 NA NA 0.02 0 -0.02
## 21 NA NA 0.02 0 -0.02
## 27 NA NA 0.03 0 -0.02
## accel_belt_x accel_belt_y accel_belt_z magnet_belt_x magnet_belt_y
## 1 -21 4 22 -3 599
## 14 -22 4 21 -8 598
## 19 -20 5 21 -3 603
## 20 -22 5 22 -1 604
## 21 -20 1 20 -10 607
## 27 -22 3 22 3 597
## magnet_belt_z roll_arm pitch_arm yaw_arm total_accel_arm var_accel_arm
## 1 -313 -128 22.5 -161 34 NA
## 14 -310 -128 21.4 -161 34 NA
## 19 -313 -129 21.2 -161 34 NA
## 20 -314 -129 21.1 -161 34 NA
## 21 -304 -129 20.9 -161 34 NA
## 27 -320 -129 20.7 -161 34 NA
## avg_roll_arm stddev_roll_arm var_roll_arm avg_pitch_arm
## 1 NA NA NA NA
## 14 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 27 NA NA NA NA
## stddev_pitch_arm var_pitch_arm avg_yaw_arm stddev_yaw_arm var_yaw_arm
## 1 NA NA NA NA NA
## 14 NA NA NA NA NA
## 19 NA NA NA NA NA
## 20 NA NA NA NA NA
## 21 NA NA NA NA NA
## 27 NA NA NA NA NA
## gyros_arm_x gyros_arm_y gyros_arm_z accel_arm_x accel_arm_y accel_arm_z
## 1 0.00 0.00 -0.02 -288 109 -123
## 14 0.02 0.00 -0.03 -288 111 -124
## 19 0.02 -0.02 -0.02 -289 109 -122
## 20 0.02 -0.02 -0.02 -289 109 -125
## 21 0.03 -0.02 -0.02 -288 111 -124
## 27 -0.02 -0.02 0.00 -289 111 -126
## magnet_arm_x magnet_arm_y magnet_arm_z kurtosis_roll_arm
## 1 -368 337 516 NA
## 14 -371 331 523 NA
## 19 -369 340 509 NA
## 20 -373 335 514 NA
## 21 -375 337 513 NA
## 27 -371 338 505 NA
## kurtosis_picth_arm kurtosis_yaw_arm skewness_roll_arm
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## skewness_pitch_arm skewness_yaw_arm max_roll_arm max_picth_arm
## 1 NA NA NA NA
## 14 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 27 NA NA NA NA
## max_yaw_arm min_roll_arm min_pitch_arm min_yaw_arm amplitude_roll_arm
## 1 NA NA NA NA NA
## 14 NA NA NA NA NA
## 19 NA NA NA NA NA
## 20 NA NA NA NA NA
## 21 NA NA NA NA NA
## 27 NA NA NA NA NA
## amplitude_pitch_arm amplitude_yaw_arm roll_dumbbell pitch_dumbbell
## 1 NA NA 13.05217 -70.49400
## 14 NA NA 13.41048 -70.99594
## 19 NA NA 13.07574 -70.28271
## 20 NA NA 12.75083 -70.34768
## 21 NA NA 13.38246 -70.81759
## 27 NA NA 12.82749 -70.49032
## yaw_dumbbell kurtosis_roll_dumbbell kurtosis_picth_dumbbell
## 1 -84.87394 NA NA
## 14 -84.28005 NA NA
## 19 -85.07803 NA NA
## 20 -85.09708 NA NA
## 21 -84.46500 NA NA
## 27 -84.93557 NA NA
## kurtosis_yaw_dumbbell skewness_roll_dumbbell skewness_pitch_dumbbell
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## skewness_yaw_dumbbell max_roll_dumbbell max_picth_dumbbell
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## max_yaw_dumbbell min_roll_dumbbell min_pitch_dumbbell min_yaw_dumbbell
## 1 NA NA NA NA
## 14 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 27 NA NA NA NA
## amplitude_roll_dumbbell amplitude_pitch_dumbbell amplitude_yaw_dumbbell
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## total_accel_dumbbell var_accel_dumbbell avg_roll_dumbbell
## 1 37 NA NA
## 14 37 NA NA
## 19 37 NA NA
## 20 37 NA NA
## 21 37 NA NA
## 27 37 NA NA
## stddev_roll_dumbbell var_roll_dumbbell avg_pitch_dumbbell
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## stddev_pitch_dumbbell var_pitch_dumbbell avg_yaw_dumbbell
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## stddev_yaw_dumbbell var_yaw_dumbbell gyros_dumbbell_x gyros_dumbbell_y
## 1 NA NA 0.00 -0.02
## 14 NA NA 0.02 -0.02
## 19 NA NA 0.00 -0.02
## 20 NA NA 0.00 -0.02
## 21 NA NA 0.00 -0.02
## 27 NA NA 0.00 -0.02
## gyros_dumbbell_z accel_dumbbell_x accel_dumbbell_y accel_dumbbell_z
## 1 0.00 -234 47 -271
## 14 -0.02 -234 48 -268
## 19 -0.02 -233 47 -271
## 20 0.00 -234 46 -272
## 21 0.00 -234 48 -269
## 27 0.00 -233 46 -270
## magnet_dumbbell_x magnet_dumbbell_y magnet_dumbbell_z roll_forearm
## 1 -559 293 -65 28.4
## 14 -554 295 -68 27.2
## 19 -559 295 -74 26.9
## 20 -558 302 -66 26.9
## 21 -554 299 -72 26.9
## 27 -556 297 -68 27.0
## pitch_forearm yaw_forearm kurtosis_roll_forearm kurtosis_picth_forearm
## 1 -63.9 -153 NA NA
## 14 -63.9 -151 NA NA
## 19 -64.0 -151 NA NA
## 20 -64.0 -151 NA NA
## 21 -63.9 -151 NA NA
## 27 -63.6 -151 NA NA
## kurtosis_yaw_forearm skewness_roll_forearm skewness_pitch_forearm
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## skewness_yaw_forearm max_roll_forearm max_picth_forearm max_yaw_forearm
## 1 NA NA NA NA
## 14 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 27 NA NA NA NA
## min_roll_forearm min_pitch_forearm min_yaw_forearm
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## amplitude_roll_forearm amplitude_pitch_forearm amplitude_yaw_forearm
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## total_accel_forearm var_accel_forearm avg_roll_forearm
## 1 36 NA NA
## 14 36 NA NA
## 19 36 NA NA
## 20 36 NA NA
## 21 36 NA NA
## 27 36 NA NA
## stddev_roll_forearm var_roll_forearm avg_pitch_forearm
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## stddev_pitch_forearm var_pitch_forearm avg_yaw_forearm
## 1 NA NA NA
## 14 NA NA NA
## 19 NA NA NA
## 20 NA NA NA
## 21 NA NA NA
## 27 NA NA NA
## stddev_yaw_forearm var_yaw_forearm gyros_forearm_x gyros_forearm_y
## 1 NA NA 0.03 0.00
## 14 NA NA 0.00 -0.02
## 19 NA NA 0.02 0.00
## 20 NA NA 0.02 -0.02
## 21 NA NA 0.03 -0.03
## 27 NA NA 0.03 0.00
## gyros_forearm_z accel_forearm_x accel_forearm_y accel_forearm_z
## 1 -0.02 192 203 -215
## 14 -0.03 193 202 -214
## 19 -0.02 192 203 -216
## 20 0.00 193 205 -215
## 21 -0.02 194 208 -214
## 27 0.00 192 204 -214
## magnet_forearm_x magnet_forearm_y magnet_forearm_z classe
## 1 -17 654 476 A
## 14 -14 659 478 A
## 19 -10 657 466 A
## 20 -9 657 480 A
## 21 -11 654 469 A
## 27 -14 657 467 A
table(is.na(trainData))
##
## FALSE TRUE
## 851290 1346630
naprops <- colSums(is.na(trainData))/nrow(trainData)
mostlyNAs <- names(naprops[naprops > 0.75]) # mostly being 75%
mostlyNACols <- which(naprops > 0.75) # there's about 100 of them
head(mostlyNAs)
## [1] "kurtosis_roll_belt" "kurtosis_picth_belt" "kurtosis_yaw_belt"
## [4] "skewness_roll_belt" "skewness_roll_belt.1" "skewness_yaw_belt"
head(mostlyNACols)
## kurtosis_roll_belt kurtosis_picth_belt kurtosis_yaw_belt
## 12 13 14
## skewness_roll_belt skewness_roll_belt.1 skewness_yaw_belt
## 15 16 17
set.seed(1256)
smalltrain <- trainData %>% tbl_df %>% sample_n(size=1000)
head(smalltrain)
## # A tibble: 6 × 160
## X user_name raw_timestamp_part_1 raw_timestamp_part_2
## <int> <fctr> <int> <int>
## 1 3757 jeremy 1322673063 222619
## 2 692 pedro 1323094996 300374
## 3 15502 charles 1322837929 188366
## 4 1753 eurico 1322489618 178708
## 5 15283 adelmo 1322832893 496290
## 6 14871 adelmo 1322832897 440332
## # ... with 156 more variables: cvtd_timestamp <fctr>, new_window <fctr>,
## # num_window <int>, roll_belt <dbl>, pitch_belt <dbl>, yaw_belt <dbl>,
## # total_accel_belt <int>, kurtosis_roll_belt <dbl>,
## # kurtosis_picth_belt <dbl>, kurtosis_yaw_belt <lgl>,
## # skewness_roll_belt <dbl>, skewness_roll_belt.1 <dbl>,
## # skewness_yaw_belt <lgl>, max_roll_belt <dbl>, max_picth_belt <int>,
## # max_yaw_belt <dbl>, min_roll_belt <dbl>, min_pitch_belt <int>,
## # min_yaw_belt <dbl>, amplitude_roll_belt <dbl>,
## # amplitude_pitch_belt <int>, amplitude_yaw_belt <dbl>,
## # var_total_accel_belt <dbl>, avg_roll_belt <dbl>,
## # stddev_roll_belt <dbl>, var_roll_belt <dbl>, avg_pitch_belt <dbl>,
## # stddev_pitch_belt <dbl>, var_pitch_belt <dbl>, avg_yaw_belt <dbl>,
## # stddev_yaw_belt <dbl>, var_yaw_belt <dbl>, gyros_belt_x <dbl>,
## # gyros_belt_y <dbl>, gyros_belt_z <dbl>, accel_belt_x <int>,
## # accel_belt_y <int>, accel_belt_z <int>, magnet_belt_x <int>,
## # magnet_belt_y <int>, magnet_belt_z <int>, roll_arm <dbl>,
## # pitch_arm <dbl>, yaw_arm <dbl>, total_accel_arm <int>,
## # var_accel_arm <dbl>, avg_roll_arm <dbl>, stddev_roll_arm <dbl>,
## # var_roll_arm <dbl>, avg_pitch_arm <dbl>, stddev_pitch_arm <dbl>,
## # var_pitch_arm <dbl>, avg_yaw_arm <dbl>, stddev_yaw_arm <dbl>,
## # var_yaw_arm <dbl>, gyros_arm_x <dbl>, gyros_arm_y <dbl>,
## # gyros_arm_z <dbl>, accel_arm_x <int>, accel_arm_y <int>,
## # accel_arm_z <int>, magnet_arm_x <int>, magnet_arm_y <int>,
## # magnet_arm_z <int>, kurtosis_roll_arm <dbl>, kurtosis_picth_arm <dbl>,
## # kurtosis_yaw_arm <dbl>, skewness_roll_arm <dbl>,
## # skewness_pitch_arm <dbl>, skewness_yaw_arm <dbl>, max_roll_arm <dbl>,
## # max_picth_arm <dbl>, max_yaw_arm <int>, min_roll_arm <dbl>,
## # min_pitch_arm <dbl>, min_yaw_arm <int>, amplitude_roll_arm <dbl>,
## # amplitude_pitch_arm <dbl>, amplitude_yaw_arm <int>,
## # roll_dumbbell <dbl>, pitch_dumbbell <dbl>, yaw_dumbbell <dbl>,
## # kurtosis_roll_dumbbell <dbl>, kurtosis_picth_dumbbell <dbl>,
## # kurtosis_yaw_dumbbell <lgl>, skewness_roll_dumbbell <dbl>,
## # skewness_pitch_dumbbell <dbl>, skewness_yaw_dumbbell <lgl>,
## # max_roll_dumbbell <dbl>, max_picth_dumbbell <dbl>,
## # max_yaw_dumbbell <dbl>, min_roll_dumbbell <dbl>,
## # min_pitch_dumbbell <dbl>, min_yaw_dumbbell <dbl>,
## # amplitude_roll_dumbbell <dbl>, amplitude_pitch_dumbbell <dbl>,
## # amplitude_yaw_dumbbell <dbl>, total_accel_dumbbell <int>,
## # var_accel_dumbbell <dbl>, avg_roll_dumbbell <dbl>, ...
str(smalltrain)
## Classes 'tbl_df', 'tbl' and 'data.frame': 1000 obs. of 160 variables:
## $ X : int 3757 692 15502 1753 15283 14871 16400 5822 18519 4119 ...
## $ user_name : Factor w/ 6 levels "adelmo","carlitos",..: 5 6 3 4 1 1 2 6 1 1 ...
## $ raw_timestamp_part_1 : int 1322673063 1323094996 1322837929 1322489618 1322832893 1322832897 1323084340 1323095007 1322832921 1322832797 ...
## $ raw_timestamp_part_2 : int 222619 300374 188366 178708 496290 440332 996290 572418 244377 132305 ...
## $ cvtd_timestamp : Factor w/ 20 levels "02/12/2011 13:32",..: 19 13 7 15 3 3 11 13 4 2 ...
## $ new_window : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...
## $ num_window : int 427 68 752 223 611 569 32 79 589 645 ...
## $ roll_belt : num 0.58 124 119 2.08 126 125 -7.31 121 157 122 ...
## $ pitch_belt : num 5.05 26.4 17.5 3.09 -41.4 -41.8 4.54 26.5 -32 -43 ...
## $ yaw_belt : num -88.4 -4.03 -0.69 -87.5 164 165 -92.5 -4.48 126 170 ...
## $ total_accel_belt : int 4 20 18 2 18 17 4 19 23 17 ...
## $ 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 : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_picth_belt : int NA NA NA NA NA NA NA NA NA NA ...
## $ max_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_pitch_belt : int NA NA NA NA NA NA NA NA NA NA ...
## $ min_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_pitch_belt : int NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_total_accel_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_roll_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_pitch_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_pitch_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_pitch_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_yaw_belt : num NA NA NA NA NA NA NA NA NA NA ...
## $ gyros_belt_x : num -0.03 -0.43 0.1 -0.06 0.11 0.11 0.08 -0.43 -0.11 0.1 ...
## $ gyros_belt_y : num 0 -0.02 0.11 0.03 0.11 0.11 0.02 -0.03 0.1 0.11 ...
## $ gyros_belt_z : num 0.02 -0.44 -0.15 -0.02 -0.16 -0.18 0.05 -0.43 0 -0.2 ...
## $ accel_belt_x : int -13 -40 -21 -7 51 46 -19 -47 65 47 ...
## $ accel_belt_y : int 1 69 63 4 44 47 0 75 29 44 ...
## $ accel_belt_z : int 42 -178 -160 23 -159 -158 36 -166 -215 -154 ...
## $ magnet_belt_x : int 44 -1 18 45 160 157 7 0 159 158 ...
## $ magnet_belt_y : int 633 573 595 566 611 609 630 594 518 613 ...
## $ magnet_belt_z : int -306 -386 -335 -429 -306 -302 -248 -359 -478 -303 ...
## $ roll_arm : num 0 -26.2 -60.5 71.4 -21 -10.6 64.6 137 -31.1 -107 ...
## $ pitch_arm : num 0 -3.16 -35.2 43.3 -11.4 30.7 13.9 23.6 -44.1 61.8 ...
## $ yaw_arm : num 0 -98.2 5.04 84.6 -38.9 -75.3 94.8 -29.7 -18.3 -52.9 ...
## $ total_accel_arm : int 21 11 20 30 7 25 29 43 11 29 ...
## $ var_accel_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ avg_yaw_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ stddev_yaw_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ var_yaw_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ gyros_arm_x : num 2.94 1.43 -0.85 0.03 2.23 1.46 -0.18 -3.15 2.6 0.19 ...
## $ gyros_arm_y : num -1.28 -0.39 -0.16 -0.02 -0.98 -0.93 0.08 1.48 -1.12 -0.34 ...
## $ gyros_arm_z : num 0.61 -0.56 0.84 -0.02 1.03 0.67 -0.13 0.03 0.59 0.59 ...
## $ accel_arm_x : int -76 35 130 -220 -30 -245 -238 339 67 -275 ...
## $ accel_arm_y : int 169 14 -107 155 -59 -7 127 -84 -82 -55 ...
## $ accel_arm_z : int -82 98 -109 -111 7 11 -80 -235 1 -4 ...
## $ magnet_arm_x : int 458 -170 741 -330 501 -197 -179 514 700 -341 ...
## $ magnet_arm_y : int 211 386 -19 231 108 380 343 -106 57 262 ...
## $ magnet_arm_z : int 458 530 -11 595 451 541 559 -453 218 603 ...
## $ 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 : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_picth_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_yaw_arm : int NA NA NA NA NA NA NA NA NA NA ...
## $ min_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_yaw_arm : int NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_roll_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_pitch_arm : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_yaw_arm : int NA NA NA NA NA NA NA NA NA NA ...
## $ roll_dumbbell : num 59.4 11.9 64.2 111.7 49.1 ...
## $ pitch_dumbbell : num -40.2 36.4 92.4 38.9 -31.4 ...
## $ yaw_dumbbell : num -81.96 118.56 -6.66 22.15 -97.25 ...
## $ 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 : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_picth_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ max_yaw_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_roll_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_pitch_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ min_yaw_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## $ amplitude_roll_dumbbell : num NA NA NA NA NA NA NA NA NA NA ...
## [list output truncated]
smalltrain <- smalltrain[,-mostlyNACols]
head(smalltrain)
## # A tibble: 6 × 60
## X user_name raw_timestamp_part_1 raw_timestamp_part_2
## <int> <fctr> <int> <int>
## 1 3757 jeremy 1322673063 222619
## 2 692 pedro 1323094996 300374
## 3 15502 charles 1322837929 188366
## 4 1753 eurico 1322489618 178708
## 5 15283 adelmo 1322832893 496290
## 6 14871 adelmo 1322832897 440332
## # ... with 56 more variables: cvtd_timestamp <fctr>, new_window <fctr>,
## # num_window <int>, roll_belt <dbl>, pitch_belt <dbl>, yaw_belt <dbl>,
## # total_accel_belt <int>, gyros_belt_x <dbl>, gyros_belt_y <dbl>,
## # gyros_belt_z <dbl>, accel_belt_x <int>, accel_belt_y <int>,
## # accel_belt_z <int>, magnet_belt_x <int>, magnet_belt_y <int>,
## # magnet_belt_z <int>, roll_arm <dbl>, pitch_arm <dbl>, yaw_arm <dbl>,
## # total_accel_arm <int>, gyros_arm_x <dbl>, gyros_arm_y <dbl>,
## # gyros_arm_z <dbl>, accel_arm_x <int>, accel_arm_y <int>,
## # accel_arm_z <int>, magnet_arm_x <int>, magnet_arm_y <int>,
## # magnet_arm_z <int>, roll_dumbbell <dbl>, pitch_dumbbell <dbl>,
## # yaw_dumbbell <dbl>, total_accel_dumbbell <int>,
## # gyros_dumbbell_x <dbl>, gyros_dumbbell_y <dbl>,
## # gyros_dumbbell_z <dbl>, accel_dumbbell_x <int>,
## # accel_dumbbell_y <int>, accel_dumbbell_z <int>,
## # magnet_dumbbell_x <int>, magnet_dumbbell_y <int>,
## # magnet_dumbbell_z <dbl>, roll_forearm <dbl>, pitch_forearm <dbl>,
## # yaw_forearm <dbl>, total_accel_forearm <int>, gyros_forearm_x <dbl>,
## # gyros_forearm_y <dbl>, gyros_forearm_z <dbl>, accel_forearm_x <int>,
## # accel_forearm_y <int>, accel_forearm_z <int>, magnet_forearm_x <int>,
## # magnet_forearm_y <dbl>, magnet_forearm_z <dbl>, classe <fctr>
Remove the row number (X) and user_name column
smalltrain <- smalltrain[,-grep("X|user_name",names(smalltrain))]
head(smalltrain)
## # A tibble: 6 × 58
## raw_timestamp_part_1 raw_timestamp_part_2 cvtd_timestamp new_window
## <int> <int> <fctr> <fctr>
## 1 1322673063 222619 30/11/2011 17:11 no
## 2 1323094996 300374 05/12/2011 14:23 no
## 3 1322837929 188366 02/12/2011 14:58 no
## 4 1322489618 178708 28/11/2011 14:13 no
## 5 1322832893 496290 02/12/2011 13:34 no
## 6 1322832897 440332 02/12/2011 13:34 no
## # ... with 54 more variables: num_window <int>, roll_belt <dbl>,
## # pitch_belt <dbl>, yaw_belt <dbl>, total_accel_belt <int>,
## # gyros_belt_x <dbl>, gyros_belt_y <dbl>, gyros_belt_z <dbl>,
## # accel_belt_x <int>, accel_belt_y <int>, accel_belt_z <int>,
## # magnet_belt_x <int>, magnet_belt_y <int>, magnet_belt_z <int>,
## # roll_arm <dbl>, pitch_arm <dbl>, yaw_arm <dbl>, total_accel_arm <int>,
## # gyros_arm_x <dbl>, gyros_arm_y <dbl>, gyros_arm_z <dbl>,
## # accel_arm_x <int>, accel_arm_y <int>, accel_arm_z <int>,
## # magnet_arm_x <int>, magnet_arm_y <int>, magnet_arm_z <int>,
## # roll_dumbbell <dbl>, pitch_dumbbell <dbl>, yaw_dumbbell <dbl>,
## # total_accel_dumbbell <int>, gyros_dumbbell_x <dbl>,
## # gyros_dumbbell_y <dbl>, gyros_dumbbell_z <dbl>,
## # accel_dumbbell_x <int>, accel_dumbbell_y <int>,
## # accel_dumbbell_z <int>, magnet_dumbbell_x <int>,
## # magnet_dumbbell_y <int>, magnet_dumbbell_z <dbl>, roll_forearm <dbl>,
## # pitch_forearm <dbl>, yaw_forearm <dbl>, total_accel_forearm <int>,
## # gyros_forearm_x <dbl>, gyros_forearm_y <dbl>, gyros_forearm_z <dbl>,
## # accel_forearm_x <int>, accel_forearm_y <int>, accel_forearm_z <int>,
## # magnet_forearm_x <int>, magnet_forearm_y <dbl>,
## # magnet_forearm_z <dbl>, classe <fctr>
This factor variable makes prediction of the test set difficult and is reduandant when raw time data is available in the data set.
smalltrain <- smalltrain[,-grep("cvtd_timestamp",names(smalltrain))]
str(smalltrain)
## Classes 'tbl_df', 'tbl' and 'data.frame': 1000 obs. of 57 variables:
## $ raw_timestamp_part_1: int 1322673063 1323094996 1322837929 1322489618 1322832893 1322832897 1323084340 1323095007 1322832921 1322832797 ...
## $ raw_timestamp_part_2: int 222619 300374 188366 178708 496290 440332 996290 572418 244377 132305 ...
## $ new_window : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...
## $ num_window : int 427 68 752 223 611 569 32 79 589 645 ...
## $ roll_belt : num 0.58 124 119 2.08 126 125 -7.31 121 157 122 ...
## $ pitch_belt : num 5.05 26.4 17.5 3.09 -41.4 -41.8 4.54 26.5 -32 -43 ...
## $ yaw_belt : num -88.4 -4.03 -0.69 -87.5 164 165 -92.5 -4.48 126 170 ...
## $ total_accel_belt : int 4 20 18 2 18 17 4 19 23 17 ...
## $ gyros_belt_x : num -0.03 -0.43 0.1 -0.06 0.11 0.11 0.08 -0.43 -0.11 0.1 ...
## $ gyros_belt_y : num 0 -0.02 0.11 0.03 0.11 0.11 0.02 -0.03 0.1 0.11 ...
## $ gyros_belt_z : num 0.02 -0.44 -0.15 -0.02 -0.16 -0.18 0.05 -0.43 0 -0.2 ...
## $ accel_belt_x : int -13 -40 -21 -7 51 46 -19 -47 65 47 ...
## $ accel_belt_y : int 1 69 63 4 44 47 0 75 29 44 ...
## $ accel_belt_z : int 42 -178 -160 23 -159 -158 36 -166 -215 -154 ...
## $ magnet_belt_x : int 44 -1 18 45 160 157 7 0 159 158 ...
## $ magnet_belt_y : int 633 573 595 566 611 609 630 594 518 613 ...
## $ magnet_belt_z : int -306 -386 -335 -429 -306 -302 -248 -359 -478 -303 ...
## $ roll_arm : num 0 -26.2 -60.5 71.4 -21 -10.6 64.6 137 -31.1 -107 ...
## $ pitch_arm : num 0 -3.16 -35.2 43.3 -11.4 30.7 13.9 23.6 -44.1 61.8 ...
## $ yaw_arm : num 0 -98.2 5.04 84.6 -38.9 -75.3 94.8 -29.7 -18.3 -52.9 ...
## $ total_accel_arm : int 21 11 20 30 7 25 29 43 11 29 ...
## $ gyros_arm_x : num 2.94 1.43 -0.85 0.03 2.23 1.46 -0.18 -3.15 2.6 0.19 ...
## $ gyros_arm_y : num -1.28 -0.39 -0.16 -0.02 -0.98 -0.93 0.08 1.48 -1.12 -0.34 ...
## $ gyros_arm_z : num 0.61 -0.56 0.84 -0.02 1.03 0.67 -0.13 0.03 0.59 0.59 ...
## $ accel_arm_x : int -76 35 130 -220 -30 -245 -238 339 67 -275 ...
## $ accel_arm_y : int 169 14 -107 155 -59 -7 127 -84 -82 -55 ...
## $ accel_arm_z : int -82 98 -109 -111 7 11 -80 -235 1 -4 ...
## $ magnet_arm_x : int 458 -170 741 -330 501 -197 -179 514 700 -341 ...
## $ magnet_arm_y : int 211 386 -19 231 108 380 343 -106 57 262 ...
## $ magnet_arm_z : int 458 530 -11 595 451 541 559 -453 218 603 ...
## $ roll_dumbbell : num 59.4 11.9 64.2 111.7 49.1 ...
## $ pitch_dumbbell : num -40.2 36.4 92.4 38.9 -31.4 ...
## $ yaw_dumbbell : num -81.96 118.56 -6.66 22.15 -97.25 ...
## $ total_accel_dumbbell: int 34 9 3 5 18 16 8 13 21 21 ...
## $ gyros_dumbbell_x : num -0.02 0.5 -0.1 0.26 0.02 0.27 0.93 0.64 0.11 -0.03 ...
## $ gyros_dumbbell_y : num -0.05 -0.14 -0.1 0.11 0.21 0.02 -1.56 1.17 0.22 -0.16 ...
## $ gyros_dumbbell_z : num -0.25 -0.2 0.18 -0.05 -0.18 -0.38 0.08 -0.75 -0.11 -0.23 ...
## $ accel_dumbbell_x : int -130 30 24 19 -53 -47 6 -10 -24 -38 ...
## $ accel_dumbbell_y : int 186 10 18 45 81 76 57 -85 144 109 ...
## $ accel_dumbbell_z : int -243 78 -2 11 -142 -133 47 89 -149 -165 ...
## $ magnet_dumbbell_x : int -467 528 -360 -265 -556 -557 -451 340 -446 -511 ...
## $ magnet_dumbbell_y : int 430 -532 506 419 250 245 424 -661 435 360 ...
## $ magnet_dumbbell_z : num -71 -104 -91 291 57 79 -8 -119 21 -22 ...
## $ roll_forearm : num 99.6 113 -83 -125 0 0 140 -167 0 0 ...
## $ pitch_forearm : num 19.1 14.6 55.1 14.5 0 0 15 58.9 0 0 ...
## $ yaw_forearm : num 107 81 -138 -5.78 0 0 117 -116 0 0 ...
## $ total_accel_forearm : int 35 35 43 25 44 47 47 25 47 42 ...
## $ gyros_forearm_x : num -1.03 -0.27 0.08 0.37 1.12 0.69 0.06 -0.88 1 0.66 ...
## $ gyros_forearm_y : num 2.87 0.58 -1.88 -1.91 -0.85 2.52 -2.89 2.54 2.23 -1.59 ...
## $ gyros_forearm_z : num 0.98 0.02 -0.57 -0.08 0.13 0.69 -0.46 0.74 0.98 -0.33 ...
## $ accel_forearm_x : int -26 123 -415 174 -220 -176 -47 -124 -330 -346 ...
## $ accel_forearm_y : int 290 275 -95 -101 366 428 418 -119 315 229 ...
## $ accel_forearm_z : int -188 -172 6 142 19 -7 -186 -180 8 -21 ...
## $ magnet_forearm_x : int -519 -253 -635 402 -658 -520 -498 -363 -711 -658 ...
## $ magnet_forearm_y : num 733 791 2 -673 638 781 679 -426 349 103 ...
## $ magnet_forearm_z : num 781 697 315 18 733 708 575 195 615 420 ...
## $ classe : Factor w/ 5 levels "A","B","C","D",..: 1 1 4 1 4 4 5 2 5 1 ...
head(smalltrain)
## # A tibble: 6 × 57
## raw_timestamp_part_1 raw_timestamp_part_2 new_window num_window
## <int> <int> <fctr> <int>
## 1 1322673063 222619 no 427
## 2 1323094996 300374 no 68
## 3 1322837929 188366 no 752
## 4 1322489618 178708 no 223
## 5 1322832893 496290 no 611
## 6 1322832897 440332 no 569
## # ... with 53 more variables: roll_belt <dbl>, pitch_belt <dbl>,
## # yaw_belt <dbl>, total_accel_belt <int>, gyros_belt_x <dbl>,
## # gyros_belt_y <dbl>, gyros_belt_z <dbl>, accel_belt_x <int>,
## # accel_belt_y <int>, accel_belt_z <int>, magnet_belt_x <int>,
## # magnet_belt_y <int>, magnet_belt_z <int>, roll_arm <dbl>,
## # pitch_arm <dbl>, yaw_arm <dbl>, total_accel_arm <int>,
## # gyros_arm_x <dbl>, gyros_arm_y <dbl>, gyros_arm_z <dbl>,
## # accel_arm_x <int>, accel_arm_y <int>, accel_arm_z <int>,
## # magnet_arm_x <int>, magnet_arm_y <int>, magnet_arm_z <int>,
## # roll_dumbbell <dbl>, pitch_dumbbell <dbl>, yaw_dumbbell <dbl>,
## # total_accel_dumbbell <int>, gyros_dumbbell_x <dbl>,
## # gyros_dumbbell_y <dbl>, gyros_dumbbell_z <dbl>,
## # accel_dumbbell_x <int>, accel_dumbbell_y <int>,
## # accel_dumbbell_z <int>, magnet_dumbbell_x <int>,
## # magnet_dumbbell_y <int>, magnet_dumbbell_z <dbl>, roll_forearm <dbl>,
## # pitch_forearm <dbl>, yaw_forearm <dbl>, total_accel_forearm <int>,
## # gyros_forearm_x <dbl>, gyros_forearm_y <dbl>, gyros_forearm_z <dbl>,
## # accel_forearm_x <int>, accel_forearm_y <int>, accel_forearm_z <int>,
## # magnet_forearm_x <int>, magnet_forearm_y <dbl>,
## # magnet_forearm_z <dbl>, classe <fctr>
smalltrain <- smalltrain[,-nearZeroVar(smalltrain)]
str(smalltrain)
## Classes 'tbl_df', 'tbl' and 'data.frame': 1000 obs. of 56 variables:
## $ raw_timestamp_part_1: int 1322673063 1323094996 1322837929 1322489618 1322832893 1322832897 1323084340 1323095007 1322832921 1322832797 ...
## $ raw_timestamp_part_2: int 222619 300374 188366 178708 496290 440332 996290 572418 244377 132305 ...
## $ num_window : int 427 68 752 223 611 569 32 79 589 645 ...
## $ roll_belt : num 0.58 124 119 2.08 126 125 -7.31 121 157 122 ...
## $ pitch_belt : num 5.05 26.4 17.5 3.09 -41.4 -41.8 4.54 26.5 -32 -43 ...
## $ yaw_belt : num -88.4 -4.03 -0.69 -87.5 164 165 -92.5 -4.48 126 170 ...
## $ total_accel_belt : int 4 20 18 2 18 17 4 19 23 17 ...
## $ gyros_belt_x : num -0.03 -0.43 0.1 -0.06 0.11 0.11 0.08 -0.43 -0.11 0.1 ...
## $ gyros_belt_y : num 0 -0.02 0.11 0.03 0.11 0.11 0.02 -0.03 0.1 0.11 ...
## $ gyros_belt_z : num 0.02 -0.44 -0.15 -0.02 -0.16 -0.18 0.05 -0.43 0 -0.2 ...
## $ accel_belt_x : int -13 -40 -21 -7 51 46 -19 -47 65 47 ...
## $ accel_belt_y : int 1 69 63 4 44 47 0 75 29 44 ...
## $ accel_belt_z : int 42 -178 -160 23 -159 -158 36 -166 -215 -154 ...
## $ magnet_belt_x : int 44 -1 18 45 160 157 7 0 159 158 ...
## $ magnet_belt_y : int 633 573 595 566 611 609 630 594 518 613 ...
## $ magnet_belt_z : int -306 -386 -335 -429 -306 -302 -248 -359 -478 -303 ...
## $ roll_arm : num 0 -26.2 -60.5 71.4 -21 -10.6 64.6 137 -31.1 -107 ...
## $ pitch_arm : num 0 -3.16 -35.2 43.3 -11.4 30.7 13.9 23.6 -44.1 61.8 ...
## $ yaw_arm : num 0 -98.2 5.04 84.6 -38.9 -75.3 94.8 -29.7 -18.3 -52.9 ...
## $ total_accel_arm : int 21 11 20 30 7 25 29 43 11 29 ...
## $ gyros_arm_x : num 2.94 1.43 -0.85 0.03 2.23 1.46 -0.18 -3.15 2.6 0.19 ...
## $ gyros_arm_y : num -1.28 -0.39 -0.16 -0.02 -0.98 -0.93 0.08 1.48 -1.12 -0.34 ...
## $ gyros_arm_z : num 0.61 -0.56 0.84 -0.02 1.03 0.67 -0.13 0.03 0.59 0.59 ...
## $ accel_arm_x : int -76 35 130 -220 -30 -245 -238 339 67 -275 ...
## $ accel_arm_y : int 169 14 -107 155 -59 -7 127 -84 -82 -55 ...
## $ accel_arm_z : int -82 98 -109 -111 7 11 -80 -235 1 -4 ...
## $ magnet_arm_x : int 458 -170 741 -330 501 -197 -179 514 700 -341 ...
## $ magnet_arm_y : int 211 386 -19 231 108 380 343 -106 57 262 ...
## $ magnet_arm_z : int 458 530 -11 595 451 541 559 -453 218 603 ...
## $ roll_dumbbell : num 59.4 11.9 64.2 111.7 49.1 ...
## $ pitch_dumbbell : num -40.2 36.4 92.4 38.9 -31.4 ...
## $ yaw_dumbbell : num -81.96 118.56 -6.66 22.15 -97.25 ...
## $ total_accel_dumbbell: int 34 9 3 5 18 16 8 13 21 21 ...
## $ gyros_dumbbell_x : num -0.02 0.5 -0.1 0.26 0.02 0.27 0.93 0.64 0.11 -0.03 ...
## $ gyros_dumbbell_y : num -0.05 -0.14 -0.1 0.11 0.21 0.02 -1.56 1.17 0.22 -0.16 ...
## $ gyros_dumbbell_z : num -0.25 -0.2 0.18 -0.05 -0.18 -0.38 0.08 -0.75 -0.11 -0.23 ...
## $ accel_dumbbell_x : int -130 30 24 19 -53 -47 6 -10 -24 -38 ...
## $ accel_dumbbell_y : int 186 10 18 45 81 76 57 -85 144 109 ...
## $ accel_dumbbell_z : int -243 78 -2 11 -142 -133 47 89 -149 -165 ...
## $ magnet_dumbbell_x : int -467 528 -360 -265 -556 -557 -451 340 -446 -511 ...
## $ magnet_dumbbell_y : int 430 -532 506 419 250 245 424 -661 435 360 ...
## $ magnet_dumbbell_z : num -71 -104 -91 291 57 79 -8 -119 21 -22 ...
## $ roll_forearm : num 99.6 113 -83 -125 0 0 140 -167 0 0 ...
## $ pitch_forearm : num 19.1 14.6 55.1 14.5 0 0 15 58.9 0 0 ...
## $ yaw_forearm : num 107 81 -138 -5.78 0 0 117 -116 0 0 ...
## $ total_accel_forearm : int 35 35 43 25 44 47 47 25 47 42 ...
## $ gyros_forearm_x : num -1.03 -0.27 0.08 0.37 1.12 0.69 0.06 -0.88 1 0.66 ...
## $ gyros_forearm_y : num 2.87 0.58 -1.88 -1.91 -0.85 2.52 -2.89 2.54 2.23 -1.59 ...
## $ gyros_forearm_z : num 0.98 0.02 -0.57 -0.08 0.13 0.69 -0.46 0.74 0.98 -0.33 ...
## $ accel_forearm_x : int -26 123 -415 174 -220 -176 -47 -124 -330 -346 ...
## $ accel_forearm_y : int 290 275 -95 -101 366 428 418 -119 315 229 ...
## $ accel_forearm_z : int -188 -172 6 142 19 -7 -186 -180 8 -21 ...
## $ magnet_forearm_x : int -519 -253 -635 402 -658 -520 -498 -363 -711 -658 ...
## $ magnet_forearm_y : num 733 791 2 -673 638 781 679 -426 349 103 ...
## $ magnet_forearm_z : num 781 697 315 18 733 708 575 195 615 420 ...
## $ classe : Factor w/ 5 levels "A","B","C","D",..: 1 1 4 1 4 4 5 2 5 1 ...
This is the real data that is to be used and evlauated upon
modelVars <- names(smalltrain)
modelVars1 <- modelVars[-grep("classe",modelVars)]
modelVars1
## [1] "raw_timestamp_part_1" "raw_timestamp_part_2" "num_window"
## [4] "roll_belt" "pitch_belt" "yaw_belt"
## [7] "total_accel_belt" "gyros_belt_x" "gyros_belt_y"
## [10] "gyros_belt_z" "accel_belt_x" "accel_belt_y"
## [13] "accel_belt_z" "magnet_belt_x" "magnet_belt_y"
## [16] "magnet_belt_z" "roll_arm" "pitch_arm"
## [19] "yaw_arm" "total_accel_arm" "gyros_arm_x"
## [22] "gyros_arm_y" "gyros_arm_z" "accel_arm_x"
## [25] "accel_arm_y" "accel_arm_z" "magnet_arm_x"
## [28] "magnet_arm_y" "magnet_arm_z" "roll_dumbbell"
## [31] "pitch_dumbbell" "yaw_dumbbell" "total_accel_dumbbell"
## [34] "gyros_dumbbell_x" "gyros_dumbbell_y" "gyros_dumbbell_z"
## [37] "accel_dumbbell_x" "accel_dumbbell_y" "accel_dumbbell_z"
## [40] "magnet_dumbbell_x" "magnet_dumbbell_y" "magnet_dumbbell_z"
## [43] "roll_forearm" "pitch_forearm" "yaw_forearm"
## [46] "total_accel_forearm" "gyros_forearm_x" "gyros_forearm_y"
## [49] "gyros_forearm_z" "accel_forearm_x" "accel_forearm_y"
## [52] "accel_forearm_z" "magnet_forearm_x" "magnet_forearm_y"
## [55] "magnet_forearm_z"
Using a random forest with the predictors in modelVars1 to predict the classe variable.
set.seed(57)
cleanedTrainData <- trainData[,modelVars]
modelFit <- randomForest(classe ~., data=cleanedTrainData, type="class")
Begin with an insample error estimate (from trainData - which is 70% of pml-training.csv)
## Get the values predicted by the model
predTrain <- predict(modelFit,newdata=trainData)
## Use a confusion matrix to get the insample error
confusionMatrix(predTrain,trainData$classe)$table
## Reference
## Prediction A B C D E
## A 3906 0 0 0 0
## B 0 2658 0 0 0
## C 0 0 2396 0 0
## D 0 0 0 2252 0
## E 0 0 0 0 2525
Note - The samily error is extremely high. Now getting an out of sample error estimate (from testData - which is 30% of pml-training.csv)
classe_col <- grep("classe",names(testData))
predTest <- predict(modelFit, newdata = testData[,-classe_col], type="class")
confusionMatrix(predTest,testData$classe)
## Confusion Matrix and Statistics
##
## Reference
## Prediction A B C D E
## A 1674 2 0 0 0
## B 0 1137 3 0 0
## C 0 0 1023 2 0
## D 0 0 0 961 1
## E 0 0 0 1 1081
##
## Overall Statistics
##
## Accuracy : 0.9985
## 95% CI : (0.9971, 0.9993)
## No Information Rate : 0.2845
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 0.9981
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: A Class: B Class: C Class: D Class: E
## Sensitivity 1.0000 0.9982 0.9971 0.9969 0.9991
## Specificity 0.9995 0.9994 0.9996 0.9998 0.9998
## Pos Pred Value 0.9988 0.9974 0.9980 0.9990 0.9991
## Neg Pred Value 1.0000 0.9996 0.9994 0.9994 0.9998
## Prevalence 0.2845 0.1935 0.1743 0.1638 0.1839
## Detection Rate 0.2845 0.1932 0.1738 0.1633 0.1837
## Detection Prevalence 0.2848 0.1937 0.1742 0.1635 0.1839
## Balanced Accuracy 0.9998 0.9988 0.9983 0.9983 0.9994
Note - Now the model has a sample accuracy of 0.998
pmltest <- read.csv("./Data/pml-testing.csv",na.strings=c("NA","","#DIV/0!"))
str(pmltest)
## '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 : logi NA NA NA NA NA NA ...
## $ max_picth_belt : logi NA NA NA NA NA NA ...
## $ max_yaw_belt : logi NA NA NA NA NA NA ...
## $ min_roll_belt : logi NA NA NA NA NA NA ...
## $ min_pitch_belt : logi NA NA NA NA NA NA ...
## $ min_yaw_belt : logi NA NA NA NA NA NA ...
## $ amplitude_roll_belt : logi NA NA NA NA NA NA ...
## $ amplitude_pitch_belt : logi NA NA NA NA NA NA ...
## $ amplitude_yaw_belt : logi NA NA NA NA NA NA ...
## $ var_total_accel_belt : logi NA NA NA NA NA NA ...
## $ avg_roll_belt : logi NA NA NA NA NA NA ...
## $ stddev_roll_belt : logi NA NA NA NA NA NA ...
## $ var_roll_belt : logi NA NA NA NA NA NA ...
## $ avg_pitch_belt : logi NA NA NA NA NA NA ...
## $ stddev_pitch_belt : logi NA NA NA NA NA NA ...
## $ var_pitch_belt : logi NA NA NA NA NA NA ...
## $ avg_yaw_belt : logi NA NA NA NA NA NA ...
## $ stddev_yaw_belt : logi NA NA NA NA NA NA ...
## $ var_yaw_belt : logi NA NA NA NA NA NA ...
## $ 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 : logi NA NA NA NA NA NA ...
## $ avg_roll_arm : logi NA NA NA NA NA NA ...
## $ stddev_roll_arm : logi NA NA NA NA NA NA ...
## $ var_roll_arm : logi NA NA NA NA NA NA ...
## $ avg_pitch_arm : logi NA NA NA NA NA NA ...
## $ stddev_pitch_arm : logi NA NA NA NA NA NA ...
## $ var_pitch_arm : logi NA NA NA NA NA NA ...
## $ avg_yaw_arm : logi NA NA NA NA NA NA ...
## $ stddev_yaw_arm : logi NA NA NA NA NA NA ...
## $ var_yaw_arm : logi NA NA NA NA NA NA ...
## $ 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 : logi NA NA NA NA NA NA ...
## $ max_picth_arm : logi NA NA NA NA NA NA ...
## $ max_yaw_arm : logi NA NA NA NA NA NA ...
## $ min_roll_arm : logi NA NA NA NA NA NA ...
## $ min_pitch_arm : logi NA NA NA NA NA NA ...
## $ min_yaw_arm : logi NA NA NA NA NA NA ...
## $ amplitude_roll_arm : logi NA NA NA NA NA NA ...
## $ amplitude_pitch_arm : logi NA NA NA NA NA NA ...
## $ amplitude_yaw_arm : logi NA NA NA NA NA NA ...
## $ 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 : logi NA NA NA NA NA NA ...
## $ max_picth_dumbbell : logi NA NA NA NA NA NA ...
## $ max_yaw_dumbbell : logi NA NA NA NA NA NA ...
## $ min_roll_dumbbell : logi NA NA NA NA NA NA ...
## $ min_pitch_dumbbell : logi NA NA NA NA NA NA ...
## $ min_yaw_dumbbell : logi NA NA NA NA NA NA ...
## $ amplitude_roll_dumbbell : logi NA NA NA NA NA NA ...
## [list output truncated]
head(pmltest)
## X user_name raw_timestamp_part_1 raw_timestamp_part_2 cvtd_timestamp
## 1 1 pedro 1323095002 868349 05/12/2011 14:23
## 2 2 jeremy 1322673067 778725 30/11/2011 17:11
## 3 3 jeremy 1322673075 342967 30/11/2011 17:11
## 4 4 adelmo 1322832789 560311 02/12/2011 13:33
## 5 5 eurico 1322489635 814776 28/11/2011 14:13
## 6 6 jeremy 1322673149 510661 30/11/2011 17:12
## new_window num_window roll_belt pitch_belt yaw_belt total_accel_belt
## 1 no 74 123.00 27.00 -4.75 20
## 2 no 431 1.02 4.87 -88.90 4
## 3 no 439 0.87 1.82 -88.50 5
## 4 no 194 125.00 -41.60 162.00 17
## 5 no 235 1.35 3.33 -88.60 3
## 6 no 504 -5.92 1.59 -87.70 4
## kurtosis_roll_belt kurtosis_picth_belt kurtosis_yaw_belt
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## skewness_roll_belt skewness_roll_belt.1 skewness_yaw_belt max_roll_belt
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## max_picth_belt max_yaw_belt min_roll_belt min_pitch_belt min_yaw_belt
## 1 NA NA NA NA NA
## 2 NA NA NA NA NA
## 3 NA NA NA NA NA
## 4 NA NA NA NA NA
## 5 NA NA NA NA NA
## 6 NA NA NA NA NA
## amplitude_roll_belt amplitude_pitch_belt amplitude_yaw_belt
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## var_total_accel_belt avg_roll_belt stddev_roll_belt var_roll_belt
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## avg_pitch_belt stddev_pitch_belt var_pitch_belt avg_yaw_belt
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## stddev_yaw_belt var_yaw_belt gyros_belt_x gyros_belt_y gyros_belt_z
## 1 NA NA -0.50 -0.02 -0.46
## 2 NA NA -0.06 -0.02 -0.07
## 3 NA NA 0.05 0.02 0.03
## 4 NA NA 0.11 0.11 -0.16
## 5 NA NA 0.03 0.02 0.00
## 6 NA NA 0.10 0.05 -0.13
## accel_belt_x accel_belt_y accel_belt_z magnet_belt_x magnet_belt_y
## 1 -38 69 -179 -13 581
## 2 -13 11 39 43 636
## 3 1 -1 49 29 631
## 4 46 45 -156 169 608
## 5 -8 4 27 33 566
## 6 -11 -16 38 31 638
## magnet_belt_z roll_arm pitch_arm yaw_arm total_accel_arm var_accel_arm
## 1 -382 40.7 -27.80 178 10 NA
## 2 -309 0.0 0.00 0 38 NA
## 3 -312 0.0 0.00 0 44 NA
## 4 -304 -109.0 55.00 -142 25 NA
## 5 -418 76.1 2.76 102 29 NA
## 6 -291 0.0 0.00 0 14 NA
## avg_roll_arm stddev_roll_arm var_roll_arm avg_pitch_arm stddev_pitch_arm
## 1 NA NA NA NA NA
## 2 NA NA NA NA NA
## 3 NA NA NA NA NA
## 4 NA NA NA NA NA
## 5 NA NA NA NA NA
## 6 NA NA NA NA NA
## var_pitch_arm avg_yaw_arm stddev_yaw_arm var_yaw_arm gyros_arm_x
## 1 NA NA NA NA -1.65
## 2 NA NA NA NA -1.17
## 3 NA NA NA NA 2.10
## 4 NA NA NA NA 0.22
## 5 NA NA NA NA -1.96
## 6 NA NA NA NA 0.02
## gyros_arm_y gyros_arm_z accel_arm_x accel_arm_y accel_arm_z magnet_arm_x
## 1 0.48 -0.18 16 38 93 -326
## 2 0.85 -0.43 -290 215 -90 -325
## 3 -1.36 1.13 -341 245 -87 -264
## 4 -0.51 0.92 -238 -57 6 -173
## 5 0.79 -0.54 -197 200 -30 -170
## 6 0.05 -0.07 -26 130 -19 396
## magnet_arm_y magnet_arm_z kurtosis_roll_arm kurtosis_picth_arm
## 1 385 481 NA NA
## 2 447 434 NA NA
## 3 474 413 NA NA
## 4 257 633 NA NA
## 5 275 617 NA NA
## 6 176 516 NA NA
## kurtosis_yaw_arm skewness_roll_arm skewness_pitch_arm skewness_yaw_arm
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## max_roll_arm max_picth_arm max_yaw_arm min_roll_arm min_pitch_arm
## 1 NA NA NA NA NA
## 2 NA NA NA NA NA
## 3 NA NA NA NA NA
## 4 NA NA NA NA NA
## 5 NA NA NA NA NA
## 6 NA NA NA NA NA
## min_yaw_arm amplitude_roll_arm amplitude_pitch_arm amplitude_yaw_arm
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## roll_dumbbell pitch_dumbbell yaw_dumbbell kurtosis_roll_dumbbell
## 1 -17.73748 24.96085 126.23596 NA
## 2 54.47761 -53.69758 -75.51480 NA
## 3 57.07031 -51.37303 -75.20287 NA
## 4 43.10927 -30.04885 -103.32003 NA
## 5 -101.38396 -53.43952 -14.19542 NA
## 6 62.18750 -50.55595 -71.12063 NA
## kurtosis_picth_dumbbell kurtosis_yaw_dumbbell skewness_roll_dumbbell
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## skewness_pitch_dumbbell skewness_yaw_dumbbell max_roll_dumbbell
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## max_picth_dumbbell max_yaw_dumbbell min_roll_dumbbell min_pitch_dumbbell
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## min_yaw_dumbbell amplitude_roll_dumbbell amplitude_pitch_dumbbell
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## amplitude_yaw_dumbbell total_accel_dumbbell var_accel_dumbbell
## 1 NA 9 NA
## 2 NA 31 NA
## 3 NA 29 NA
## 4 NA 18 NA
## 5 NA 4 NA
## 6 NA 29 NA
## avg_roll_dumbbell stddev_roll_dumbbell var_roll_dumbbell
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## avg_pitch_dumbbell stddev_pitch_dumbbell var_pitch_dumbbell
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## avg_yaw_dumbbell stddev_yaw_dumbbell var_yaw_dumbbell gyros_dumbbell_x
## 1 NA NA NA 0.64
## 2 NA NA NA 0.34
## 3 NA NA NA 0.39
## 4 NA NA NA 0.10
## 5 NA NA NA 0.29
## 6 NA NA NA -0.59
## gyros_dumbbell_y gyros_dumbbell_z accel_dumbbell_x accel_dumbbell_y
## 1 0.06 -0.61 21 -15
## 2 0.05 -0.71 -153 155
## 3 0.14 -0.34 -141 155
## 4 -0.02 0.05 -51 72
## 5 -0.47 -0.46 -18 -30
## 6 0.80 1.10 -138 166
## accel_dumbbell_z magnet_dumbbell_x magnet_dumbbell_y magnet_dumbbell_z
## 1 81 523 -528 -56
## 2 -205 -502 388 -36
## 3 -196 -506 349 41
## 4 -148 -576 238 53
## 5 -5 -424 252 312
## 6 -186 -543 262 96
## roll_forearm pitch_forearm yaw_forearm kurtosis_roll_forearm
## 1 141 49.30 156.0 NA
## 2 109 -17.60 106.0 NA
## 3 131 -32.60 93.0 NA
## 4 0 0.00 0.0 NA
## 5 -176 -2.16 -47.9 NA
## 6 150 1.46 89.7 NA
## kurtosis_picth_forearm kurtosis_yaw_forearm skewness_roll_forearm
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## skewness_pitch_forearm skewness_yaw_forearm max_roll_forearm
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## max_picth_forearm max_yaw_forearm min_roll_forearm min_pitch_forearm
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## min_yaw_forearm amplitude_roll_forearm amplitude_pitch_forearm
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## amplitude_yaw_forearm total_accel_forearm var_accel_forearm
## 1 NA 33 NA
## 2 NA 39 NA
## 3 NA 34 NA
## 4 NA 43 NA
## 5 NA 24 NA
## 6 NA 43 NA
## avg_roll_forearm stddev_roll_forearm var_roll_forearm avg_pitch_forearm
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## stddev_pitch_forearm var_pitch_forearm avg_yaw_forearm
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## stddev_yaw_forearm var_yaw_forearm gyros_forearm_x gyros_forearm_y
## 1 NA NA 0.74 -3.34
## 2 NA NA 1.12 -2.78
## 3 NA NA 0.18 -0.79
## 4 NA NA 1.38 0.69
## 5 NA NA -0.75 3.10
## 6 NA NA -0.88 4.26
## gyros_forearm_z accel_forearm_x accel_forearm_y accel_forearm_z
## 1 -0.59 -110 267 -149
## 2 -0.18 212 297 -118
## 3 0.28 154 271 -129
## 4 1.80 -92 406 -39
## 5 0.80 131 -93 172
## 6 1.35 230 322 -144
## magnet_forearm_x magnet_forearm_y magnet_forearm_z problem_id
## 1 -714 419 617 1
## 2 -237 791 873 2
## 3 -51 698 783 3
## 4 -233 783 521 4
## 5 375 -787 91 5
## 6 -300 800 884 6
predplmtest <- predict(modelFit, newdata = pmltest, type="class")
predplmtest
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
## B A B A A E D B A A B C B A E E A B B B
## Levels: A B C D E