Final Project

Students - Zain Asif / Ahmed Saeed

Introduction

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.

First Step - Analyze the Data

The data is analyzed.

2. Install the required packages

install.packages("caret")
install.packages("dplyr")
install.packages("randomForest")

Load the required packages

## 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

Downloading the files and reading it into R

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

Spliting the data into training and test sets

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

Clean the TrainData

table(is.na(trainData))
## 
##   FALSE    TRUE 
##  851290 1346630

Clean the TrainData

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

Take a small sample of the training data to work with

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]

Remove the varialbes that are still made up of NA’s

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 row number and user name as candidate predictors

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>

Remove the cvtd_timestamp variable as a candidate predictor

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>

Remove candidate predictors that have near zero variance

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 ...

List of Candidate Predictators

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"

Random Forest Model

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")

Get Error Estimates

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

Predict exercise activity using the model

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

Performing the Prediction

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