Introduction

Background

The Human Activity Recognition database was built from the recordings of 30 study participants performing activities of daily living (ADL) while carrying a waist-mounted smartphone with embedded inertial sensors. The objective is to classify activities into one of the six activities performed.

The experiments have been carried out with a group of 30 volunteers within an age bracket of 19-48 years. Each person performed six activities (WALKING, WALKINGUPSTAIRS, WALKINGDOWNSTAIRS, SITTING, STANDING, LAYING) wearing a smartphone (Samsung Galaxy S II) on the waist. Using its embedded accelerometer and gyroscope, we captured 3-axial linear acceleration and 3-axial angular velocity at a constant rate of 50Hz. The experiments have been video-recorded to label the data manually. The obtained dataset has been randomly partitioned into two sets, where 70% of the volunteers was selected for generating the training data and 30% the test data.

The sensor signals (accelerometer and gyroscope) were pre-processed by applying noise filters and then sampled in fixed-width sliding windows of 2.56 sec and 50% overlap (128 readings/window). The sensor acceleration signal, which has gravitational and body motion components, was separated using a Butterworth low-pass filter into body acceleration and gravity. The gravitational force is assumed to have only low frequency components, therefore a filter with 0.3 Hz cutoff frequency was used. From each window, a vector of features was obtained by calculating variables from the time and frequency domain.

The dataset is obtained from Kaggle

Importing the necessary tools

library(ggthemes)
library(magrittr)
library(tidyverse)
library(dplyr)
library(inspectdf)
library(e1071)
library(caret)
library(doParallel)
theme_set(theme_minimal())

Importing data

data <- readRDS("data.rds")

Exploratory Data Analysis

Overview of the data

glimpse(data)
## Rows: 10,299
## Columns: 563
## $ tBodyAcc.mean...X                    <dbl> 0.2885845, 0.2784188, 0.2796531, ~
## $ tBodyAcc.mean...Y                    <dbl> -0.020294171, -0.016410568, -0.01~
## $ tBodyAcc.mean...Z                    <dbl> -0.13290514, -0.12352019, -0.1134~
## $ tBodyAcc.std...X                     <dbl> -0.9952786, -0.9982453, -0.995379~
## $ tBodyAcc.std...Y                     <dbl> -0.9831106, -0.9753002, -0.967187~
## $ tBodyAcc.std...Z                     <dbl> -0.9135264, -0.9603220, -0.978944~
## $ tBodyAcc.mad...X                     <dbl> -0.9951121, -0.9988072, -0.996519~
## $ tBodyAcc.mad...Y                     <dbl> -0.9831846, -0.9749144, -0.963668~
## $ tBodyAcc.mad...Z                     <dbl> -0.9235270, -0.9576862, -0.977468~
## $ tBodyAcc.max...X                     <dbl> -0.9347238, -0.9430675, -0.938691~
## $ tBodyAcc.max...Y                     <dbl> -0.5673781, -0.5578513, -0.557851~
## $ tBodyAcc.max...Z                     <dbl> -0.7444125, -0.8184087, -0.818408~
## $ tBodyAcc.min...X                     <dbl> 0.8529474, 0.8493079, 0.8436090, ~
## $ tBodyAcc.min...Y                     <dbl> 0.6858446, 0.6858446, 0.6824009, ~
## $ tBodyAcc.min...Z                     <dbl> 0.8142628, 0.8226368, 0.8393442, ~
## $ tBodyAcc.sma..                       <dbl> -0.9655228, -0.9819301, -0.983477~
## $ tBodyAcc.energy...X                  <dbl> -0.9999446, -0.9999913, -0.999969~
## $ tBodyAcc.energy...Y                  <dbl> -0.9998630, -0.9997884, -0.999659~
## $ tBodyAcc.energy...Z                  <dbl> -0.9946122, -0.9984054, -0.999469~
## $ tBodyAcc.iqr...X                     <dbl> -0.9942308, -0.9991504, -0.997130~
## $ tBodyAcc.iqr...Y                     <dbl> -0.9876139, -0.9778655, -0.964809~
## $ tBodyAcc.iqr...Z                     <dbl> -0.9432200, -0.9482248, -0.974675~
## $ tBodyAcc.entropy...X                 <dbl> -0.4077471, -0.7148917, -0.592235~
## $ tBodyAcc.entropy...Y                 <dbl> -0.67933751, -0.50093000, -0.4858~
## $ tBodyAcc.entropy...Z                 <dbl> -0.60212187, -0.57097906, -0.5709~
## $ tBodyAcc.arCoeff...X.1               <dbl> 0.92929351, 0.61162716, 0.2730248~
## $ tBodyAcc.arCoeff...X.2               <dbl> -0.85301114, -0.32954862, -0.0863~
## $ tBodyAcc.arCoeff...X.3               <dbl> 0.35990976, 0.28421321, 0.3372015~
## $ tBodyAcc.arCoeff...X.4               <dbl> -0.05852638, 0.28459454, -0.16473~
## $ tBodyAcc.arCoeff...Y.1               <dbl> 0.25689154, 0.11570542, 0.0171501~
## $ tBodyAcc.arCoeff...Y.2               <dbl> -0.22484763, -0.09096253, -0.0745~
## $ tBodyAcc.arCoeff...Y.3               <dbl> 0.26410572, 0.29431041, 0.3422563~
## $ tBodyAcc.arCoeff...Y.4               <dbl> -0.09524563, -0.28121057, -0.3325~
## $ tBodyAcc.arCoeff...Z.1               <dbl> 0.27885143, 0.08598843, 0.2392805~
## $ tBodyAcc.arCoeff...Z.2               <dbl> -0.465084570, -0.022152694, -0.13~
## $ tBodyAcc.arCoeff...Z.3               <dbl> 0.49193596, -0.01665654, 0.173863~
## $ tBodyAcc.arCoeff...Z.4               <dbl> -0.190883560, -0.220643500, -0.29~
## $ tBodyAcc.correlation...X.Y           <dbl> 0.376313890, -0.013428663, -0.124~
## $ tBodyAcc.correlation...X.Z           <dbl> 0.43512919, -0.07269189, -0.18110~
## $ tBodyAcc.correlation...Y.Z           <dbl> 0.66079033, 0.57938169, 0.6089001~
## $ tGravityAcc.mean...X                 <dbl> 0.9633961, 0.9665611, 0.9668781, ~
## $ tGravityAcc.mean...Y                 <dbl> -0.1408397, -0.1415513, -0.142009~
## $ tGravityAcc.mean...Z                 <dbl> 0.115374940, 0.109378810, 0.10188~
## $ tGravityAcc.std...X                  <dbl> -0.9852497, -0.9974113, -0.999574~
## $ tGravityAcc.std...Y                  <dbl> -0.9817084, -0.9894474, -0.992865~
## $ tGravityAcc.std...Z                  <dbl> -0.8776250, -0.9316387, -0.992917~
## $ tGravityAcc.mad...X                  <dbl> -0.9850014, -0.9978836, -0.999635~
## $ tGravityAcc.mad...Y                  <dbl> -0.9844162, -0.9896137, -0.992604~
## $ tGravityAcc.mad...Z                  <dbl> -0.8946774, -0.9332404, -0.992934~
## $ tGravityAcc.max...X                  <dbl> 0.8920545, 0.8920603, 0.8924006, ~
## $ tGravityAcc.max...Y                  <dbl> -0.1612655, -0.1613426, -0.163711~
## $ tGravityAcc.max...Z                  <dbl> 0.124659770, 0.122585730, 0.09456~
## $ tGravityAcc.min...X                  <dbl> 0.9774363, 0.9845201, 0.9867701, ~
## $ tGravityAcc.min...Y                  <dbl> -0.1232134, -0.1148933, -0.114893~
## $ tGravityAcc.min...Z                  <dbl> 0.05648273, 0.10276411, 0.1027641~
## $ tGravityAcc.sma..                    <dbl> -0.3754260, -0.3834296, -0.401601~
## $ tGravityAcc.energy...X               <dbl> 0.8994686, 0.9078289, 0.9086678, ~
## $ tGravityAcc.energy...Y               <dbl> -0.9709052, -0.9705828, -0.970368~
## $ tGravityAcc.energy...Z               <dbl> -0.9755104, -0.9785004, -0.981672~
## $ tGravityAcc.iqr...X                  <dbl> -0.9843254, -0.9991884, -0.999679~
## $ tGravityAcc.iqr...Y                  <dbl> -0.9888491, -0.9900285, -0.992104~
## $ tGravityAcc.iqr...Z                  <dbl> -0.9177426, -0.9416854, -0.992618~
## $ tGravityAcc.entropy...X              <dbl> -1.0000000, -1.0000000, -1.000000~
## $ tGravityAcc.entropy...Y              <dbl> -1, -1, -1, -1, -1, -1, -1, -1, -~
## $ tGravityAcc.entropy...Z              <dbl> 0.1138061, -0.2104936, -0.9267763~
## $ tGravityAcc.arCoeff...X.1            <dbl> -0.590425000, -0.410055520, 0.002~
## $ tGravityAcc.arCoeff...X.2            <dbl> 0.59114630, 0.41385634, 0.0274806~
## $ tGravityAcc.arCoeff...X.3            <dbl> -0.59177346, -0.41756716, -0.0567~
## $ tGravityAcc.arCoeff...X.4            <dbl> 0.59246928, 0.42132499, 0.0855332~
## $ tGravityAcc.arCoeff...Y.1            <dbl> -0.745448780, -0.196359290, -0.32~
## $ tGravityAcc.arCoeff...Y.2            <dbl> 0.72086167, 0.12534464, 0.2705002~
## $ tGravityAcc.arCoeff...Y.3            <dbl> -0.71237239, -0.10556772, -0.2544~
## $ tGravityAcc.arCoeff...Y.4            <dbl> 0.71130003, 0.10909013, 0.2575976~
## $ tGravityAcc.arCoeff...Z.1            <dbl> -0.995111590, -0.833882110, -0.70~
## $ tGravityAcc.arCoeff...Z.2            <dbl> 0.995674910, 0.834271100, 0.71439~
## $ tGravityAcc.arCoeff...Z.3            <dbl> -0.99566759, -0.83418438, -0.7232~
## $ tGravityAcc.arCoeff...Z.4            <dbl> 0.99165268, 0.83046390, 0.7287554~
## $ tGravityAcc.correlation...X.Y        <dbl> 0.5702216, -0.8312839, -0.1810899~
## $ tGravityAcc.correlation...X.Z        <dbl> 0.43902735, -0.86571108, 0.337935~
## $ tGravityAcc.correlation...Y.Z        <dbl> 0.9869131, 0.9743856, 0.6434170, ~
## $ tBodyAccJerk.mean...X                <dbl> 0.07799634, 0.07400671, 0.0736359~
## $ tBodyAccJerk.mean...Y                <dbl> 0.005000803, 0.005771104, 0.00310~
## $ tBodyAccJerk.mean...Z                <dbl> -0.0678308080, 0.0293766330, -0.0~
## $ tBodyAccJerk.std...X                 <dbl> -0.9935191, -0.9955481, -0.990742~
## $ tBodyAccJerk.std...Y                 <dbl> -0.9883600, -0.9810636, -0.980955~
## $ tBodyAccJerk.std...Z                 <dbl> -0.9935750, -0.9918457, -0.989686~
## $ tBodyAccJerk.mad...X                 <dbl> -0.9944876, -0.9956320, -0.990932~
## $ tBodyAccJerk.mad...Y                 <dbl> -0.9862066, -0.9789380, -0.979300~
## $ tBodyAccJerk.mad...Z                 <dbl> -0.9928183, -0.9912766, -0.987238~
## $ tBodyAccJerk.max...X                 <dbl> -0.9851801, -0.9945447, -0.987077~
## $ tBodyAccJerk.max...Y                 <dbl> -0.9919942, -0.9790682, -0.979068~
## $ tBodyAccJerk.max...Z                 <dbl> -0.9931189, -0.9922574, -0.992257~
## $ tBodyAccJerk.min...X                 <dbl> 0.9898347, 0.9925771, 0.9883902, ~
## $ tBodyAccJerk.min...Y                 <dbl> 0.9919569, 0.9918084, 0.9918084, ~
## $ tBodyAccJerk.min...Z                 <dbl> 0.9905192, 0.9885391, 0.9885391, ~
## $ tBodyAccJerk.sma..                   <dbl> -0.9935220, -0.9913937, -0.988147~
## $ tBodyAccJerk.energy...X              <dbl> -0.9999349, -0.9999597, -0.999894~
## $ tBodyAccJerk.energy...Y              <dbl> -0.9998204, -0.9996396, -0.999636~
## $ tBodyAccJerk.energy...Z              <dbl> -0.9998785, -0.9998454, -0.999795~
## $ tBodyAccJerk.iqr...X                 <dbl> -0.9943640, -0.9938627, -0.987845~
## $ tBodyAccJerk.iqr...Y                 <dbl> -0.9860249, -0.9794351, -0.980144~
## $ tBodyAccJerk.iqr...Z                 <dbl> -0.9892336, -0.9933838, -0.981910~
## $ tBodyAccJerk.entropy...X             <dbl> -0.8199492, -0.8750964, -0.753628~
## $ tBodyAccJerk.entropy...Y             <dbl> -0.7930464, -0.6553621, -0.673273~
## $ tBodyAccJerk.entropy...Z             <dbl> -0.8888529, -0.7673809, -0.747106~
## $ tBodyAccJerk.arCoeff...X.1           <dbl> 1.0000000, 0.4896622, 0.2652248, ~
## $ tBodyAccJerk.arCoeff...X.2           <dbl> -0.22074703, 0.07099708, 0.188394~
## $ tBodyAccJerk.arCoeff...X.3           <dbl> 0.63683075, 0.36271450, 0.4645834~
## $ tBodyAccJerk.arCoeff...X.4           <dbl> 0.38764356, 0.52730342, 0.3717178~
## $ tBodyAccJerk.arCoeff...Y.1           <dbl> 0.24140146, 0.14939565, 0.0826648~
## $ tBodyAccJerk.arCoeff...Y.2           <dbl> -0.052252848, 0.062925097, -0.004~
## $ tBodyAccJerk.arCoeff...Y.3           <dbl> 0.26417720, 0.37049343, 0.3274702~
## $ tBodyAccJerk.arCoeff...Y.4           <dbl> 0.37343945, 0.41354814, 0.4376231~
## $ tBodyAccJerk.arCoeff...Z.1           <dbl> 0.34177752, 0.12221568, 0.2578908~
## $ tBodyAccJerk.arCoeff...Z.2           <dbl> -0.56979119, 0.18061304, 0.070029~
## $ tBodyAccJerk.arCoeff...Z.3           <dbl> 0.265398820, 0.047423999, 0.18697~
## $ tBodyAccJerk.arCoeff...Z.4           <dbl> -0.4778749, 0.1665727, 0.2467997,~
## $ tBodyAccJerk.correlation...X.Y       <dbl> -0.385300500, -0.208772180, -0.12~
## $ tBodyAccJerk.correlation...X.Z       <dbl> 0.03364394, 0.08410380, -0.110025~
## $ tBodyAccJerk.correlation...Y.Z       <dbl> -0.126510820, -0.268553900, -0.03~
## $ tBodyGyro.mean...X                   <dbl> -0.006100849, -0.016111620, -0.03~
## $ tBodyGyro.mean...Y                   <dbl> -0.03136479, -0.08389378, -0.1023~
## $ tBodyGyro.mean...Z                   <dbl> 0.10772540, 0.10058429, 0.0961268~
## $ tBodyGyro.std...X                    <dbl> -0.9853103, -0.9831200, -0.976292~
## $ tBodyGyro.std...Y                    <dbl> -0.9766234, -0.9890458, -0.993551~
## $ tBodyGyro.std...Z                    <dbl> -0.9922053, -0.9891212, -0.986378~
## $ tBodyGyro.mad...X                    <dbl> -0.9845863, -0.9868904, -0.974921~
## $ tBodyGyro.mad...Y                    <dbl> -0.9763526, -0.9890380, -0.994122~
## $ tBodyGyro.mad...Z                    <dbl> -0.9923616, -0.9891846, -0.985786~
## $ tBodyGyro.max...X                    <dbl> -0.8670437, -0.8649038, -0.864903~
## $ tBodyGyro.max...Y                    <dbl> -0.9337860, -0.9535605, -0.959049~
## $ tBodyGyro.max...Z                    <dbl> -0.7475662, -0.7458700, -0.743277~
## $ tBodyGyro.min...X                    <dbl> 0.8473080, 0.8337211, 0.8337211, ~
## $ tBodyGyro.min...Y                    <dbl> 0.9148953, 0.9081096, 0.9057528, ~
## $ tBodyGyro.min...Z                    <dbl> 0.8308405, 0.8289350, 0.8289350, ~
## $ tBodyGyro.sma..                      <dbl> -0.9671843, -0.9806131, -0.976280~
## $ tBodyGyro.energy...X                 <dbl> -0.9995783, -0.9997558, -0.999693~
## $ tBodyGyro.energy...Y                 <dbl> -0.9993543, -0.9998973, -0.999828~
## $ tBodyGyro.energy...Z                 <dbl> -0.9997634, -0.9998224, -0.999821~
## $ tBodyGyro.iqr...X                    <dbl> -0.9834381, -0.9928328, -0.972353~
## $ tBodyGyro.iqr...Y                    <dbl> -0.9786140, -0.9893447, -0.995144~
## $ tBodyGyro.iqr...Z                    <dbl> -0.9929656, -0.9902402, -0.986831~
## $ tBodyGyro.entropy...X                <dbl> 0.082631682, 0.007469356, -0.2609~
## $ tBodyGyro.entropy...Y                <dbl> 0.20226765, -0.53115659, -1.00000~
## $ tBodyGyro.entropy...Z                <dbl> -0.1687567, -0.1774446, -0.248370~
## $ tBodyGyro.arCoeff...X.1              <dbl> 0.09632324, -0.38768063, -0.43715~
## $ tBodyGyro.arCoeff...X.2              <dbl> -0.27498511, 0.17913763, 0.238981~
## $ tBodyGyro.arCoeff...X.3              <dbl> 0.49864419, 0.21078900, 0.1452377~
## $ tBodyGyro.arCoeff...X.4              <dbl> -0.22031685, -0.14025958, -0.1139~
## $ tBodyGyro.arCoeff...Y.1              <dbl> 1.000000000, -0.047031809, 0.0323~
## $ tBodyGyro.arCoeff...Y.2              <dbl> -0.97297139, -0.06494907, -0.1278~
## $ tBodyGyro.arCoeff...Y.3              <dbl> 0.31665451, 0.11768661, 0.1149242~
## $ tBodyGyro.arCoeff...Y.4              <dbl> 0.375726410, 0.081691287, 0.12539~
## $ tBodyGyro.arCoeff...Z.1              <dbl> 0.72339919, 0.04236404, 0.1120920~
## $ tBodyGyro.arCoeff...Z.2              <dbl> -0.77111201, -0.14992836, -0.1656~
## $ tBodyGyro.arCoeff...Z.3              <dbl> 0.69021323, 0.29261893, 0.1345544~
## $ tBodyGyro.arCoeff...Z.4              <dbl> -0.331831040, -0.149429350, 0.184~
## $ tBodyGyro.correlation...X.Y          <dbl> 0.709583770, 0.046721243, -0.0101~
## $ tBodyGyro.correlation...X.Z          <dbl> 0.134873360, -0.256929400, 0.0433~
## $ tBodyGyro.correlation...Y.Z          <dbl> 0.30109948, 0.16939480, -0.350646~
## $ tBodyGyroJerk.mean...X               <dbl> -0.09916740, -0.11050283, -0.1084~
## $ tBodyGyroJerk.mean...Y               <dbl> -0.05551737, -0.04481873, -0.0424~
## $ tBodyGyroJerk.mean...Z               <dbl> -0.061985797, -0.059242822, -0.05~
## $ tBodyGyroJerk.std...X                <dbl> -0.9921107, -0.9898726, -0.988461~
## $ tBodyGyroJerk.std...Y                <dbl> -0.9925193, -0.9972926, -0.995632~
## $ tBodyGyroJerk.std...Z                <dbl> -0.9920553, -0.9938510, -0.991531~
## $ tBodyGyroJerk.mad...X                <dbl> -0.9921648, -0.9898762, -0.987868~
## $ tBodyGyroJerk.mad...Y                <dbl> -0.9949416, -0.9974917, -0.995725~
## $ tBodyGyroJerk.mad...Z                <dbl> -0.9926190, -0.9937783, -0.991596~
## $ tBodyGyroJerk.max...X                <dbl> -0.9901558, -0.9919469, -0.993359~
## $ tBodyGyroJerk.max...Y                <dbl> -0.9867428, -0.9977171, -0.993800~
## $ tBodyGyroJerk.max...Z                <dbl> -0.9920416, -0.9949208, -0.988963~
## $ tBodyGyroJerk.min...X                <dbl> 0.9944288, 0.9904860, 0.9892905, ~
## $ tBodyGyroJerk.min...Y                <dbl> 0.9917558, 0.9971222, 0.9971222, ~
## $ tBodyGyroJerk.min...Z                <dbl> 0.9893519, 0.9945031, 0.9941426, ~
## $ tBodyGyroJerk.sma..                  <dbl> -0.9944534, -0.9952984, -0.993414~
## $ tBodyGyroJerk.energy...X             <dbl> -0.9999375, -0.9999077, -0.999887~
## $ tBodyGyroJerk.energy...Y             <dbl> -0.9999535, -0.9999897, -0.999979~
## $ tBodyGyroJerk.energy...Z             <dbl> -0.9999229, -0.9999459, -0.999915~
## $ tBodyGyroJerk.iqr...X                <dbl> -0.9922997, -0.9907418, -0.987130~
## $ tBodyGyroJerk.iqr...Y                <dbl> -0.9969389, -0.9973013, -0.995427~
## $ tBodyGyroJerk.iqr...Z                <dbl> -0.9922430, -0.9938078, -0.992775~
## $ tBodyGyroJerk.entropy...X            <dbl> -0.5898510, -0.6009445, -0.543634~
## $ tBodyGyroJerk.entropy...Y            <dbl> -0.6884590, -0.7482472, -0.672957~
## $ tBodyGyroJerk.entropy...Z            <dbl> -0.5721069, -0.6089321, -0.588410~
## $ tBodyGyroJerk.arCoeff...X.1          <dbl> 0.292376340, -0.193307570, -0.241~
## $ tBodyGyroJerk.arCoeff...X.2          <dbl> -0.361998020, -0.067406458, -0.01~
## $ tBodyGyroJerk.arCoeff...X.3          <dbl> 0.4055426900, 0.1856190700, 0.116~
## $ tBodyGyroJerk.arCoeff...X.4          <dbl> -0.039006951, 0.041521811, 0.0896~
## $ tBodyGyroJerk.arCoeff...Y.1          <dbl> 0.98928381, 0.07235255, 0.0959860~
## $ tBodyGyroJerk.arCoeff...Y.2          <dbl> -0.414560480, -0.035377727, 0.009~
## $ tBodyGyroJerk.arCoeff...Y.3          <dbl> 0.391602510, 0.177606360, 0.09512~
## $ tBodyGyroJerk.arCoeff...Y.4          <dbl> 0.282250870, 0.027498054, 0.25288~
## $ tBodyGyroJerk.arCoeff...Z.1          <dbl> 0.92726984, 0.18270272, 0.1816488~
## $ tBodyGyroJerk.arCoeff...Z.2          <dbl> -0.57237001, -0.16745740, -0.1693~
## $ tBodyGyroJerk.arCoeff...Z.3          <dbl> 0.691619200, 0.253251030, 0.13200~
## $ tBodyGyroJerk.arCoeff...Z.4          <dbl> 0.468289820, 0.132333860, 0.00819~
## $ tBodyGyroJerk.correlation...X.Y      <dbl> -0.131076970, 0.293855350, 0.1933~
## $ tBodyGyroJerk.correlation...X.Z      <dbl> -0.087159695, -0.018075169, 0.073~
## $ tBodyGyroJerk.correlation...Y.Z      <dbl> 0.33624748, -0.34333678, -0.31485~
## $ tBodyAccMag.mean..                   <dbl> -0.9594339, -0.9792892, -0.983703~
## $ tBodyAccMag.std..                    <dbl> -0.9505515, -0.9760571, -0.988019~
## $ tBodyAccMag.mad..                    <dbl> -0.9579929, -0.9782473, -0.988326~
## $ tBodyAccMag.max..                    <dbl> -0.9463052, -0.9787115, -0.986496~
## $ tBodyAccMag.min..                    <dbl> -0.9925557, -0.9953329, -0.995332~
## $ tBodyAccMag.sma..                    <dbl> -0.9594339, -0.9792892, -0.983703~
## $ tBodyAccMag.energy..                 <dbl> -0.9984928, -0.9994880, -0.999682~
## $ tBodyAccMag.iqr..                    <dbl> -0.9576374, -0.9812483, -0.985766~
## $ tBodyAccMag.entropy..                <dbl> -0.23258164, -0.44187611, -0.5999~
## $ tBodyAccMag.arCoeff..1               <dbl> -0.17317874, 0.08156863, 0.038049~
## $ tBodyAccMag.arCoeff..2               <dbl> -0.02289666, -0.10936606, -0.0742~
## $ tBodyAccMag.arCoeff..3               <dbl> 0.0948315680, 0.3117577100, 0.254~
## $ tBodyAccMag.arCoeff..4               <dbl> 0.19181715, -0.41167480, -0.29612~
## $ tGravityAccMag.mean..                <dbl> -0.9594339, -0.9792892, -0.983703~
## $ tGravityAccMag.std..                 <dbl> -0.9505515, -0.9760571, -0.988019~
## $ tGravityAccMag.mad..                 <dbl> -0.9579929, -0.9782473, -0.988326~
## $ tGravityAccMag.max..                 <dbl> -0.9463052, -0.9787115, -0.986496~
## $ tGravityAccMag.min..                 <dbl> -0.9925557, -0.9953329, -0.995332~
## $ tGravityAccMag.sma..                 <dbl> -0.9594339, -0.9792892, -0.983703~
## $ tGravityAccMag.energy..              <dbl> -0.9984928, -0.9994880, -0.999682~
## $ tGravityAccMag.iqr..                 <dbl> -0.9576374, -0.9812483, -0.985766~
## $ tGravityAccMag.entropy..             <dbl> -0.23258164, -0.44187611, -0.5999~
## $ tGravityAccMag.arCoeff..1            <dbl> -0.17317874, 0.08156863, 0.038049~
## $ tGravityAccMag.arCoeff..2            <dbl> -0.02289666, -0.10936606, -0.0742~
## $ tGravityAccMag.arCoeff..3            <dbl> 0.0948315680, 0.3117577100, 0.254~
## $ tGravityAccMag.arCoeff..4            <dbl> 0.19181715, -0.41167480, -0.29612~
## $ tBodyAccJerkMag.mean..               <dbl> -0.9933059, -0.9912535, -0.988531~
## $ tBodyAccJerkMag.std..                <dbl> -0.9943364, -0.9916944, -0.990396~
## $ tBodyAccJerkMag.mad..                <dbl> -0.9945004, -0.9927160, -0.990650~
## $ tBodyAccJerkMag.max..                <dbl> -0.9927840, -0.9886606, -0.988660~
## $ tBodyAccJerkMag.min..                <dbl> -0.9912085, -0.9912085, -0.993012~
## $ tBodyAccJerkMag.sma..                <dbl> -0.9933059, -0.9912535, -0.988531~
## $ tBodyAccJerkMag.energy..             <dbl> -0.9998919, -0.9998454, -0.999789~
## $ tBodyAccJerkMag.iqr..                <dbl> -0.9929337, -0.9934851, -0.989983~
## $ tBodyAccJerkMag.entropy..            <dbl> -0.8634148, -0.8199283, -0.794884~
## $ tBodyAccJerkMag.arCoeff..1           <dbl> 0.28308522, 0.45881205, 0.6497038~
## $ tBodyAccJerkMag.arCoeff..2           <dbl> -0.23730869, -0.24494134, -0.2600~
## $ tBodyAccJerkMag.arCoeff..3           <dbl> -0.105432190, 0.056139272, -0.128~
## $ tBodyAccJerkMag.arCoeff..4           <dbl> -0.038212313, -0.458345680, -0.52~
## $ tBodyGyroMag.mean..                  <dbl> -0.9689591, -0.9806831, -0.976317~
## $ tBodyGyroMag.std..                   <dbl> -0.9643352, -0.9837542, -0.986051~
## $ tBodyGyroMag.mad..                   <dbl> -0.9572448, -0.9820027, -0.984457~
## $ tBodyGyroMag.max..                   <dbl> -0.9750599, -0.9847146, -0.984714~
## $ tBodyGyroMag.min..                   <dbl> -0.9915537, -0.9915537, -0.966192~
## $ tBodyGyroMag.sma..                   <dbl> -0.9689591, -0.9806831, -0.976317~
## $ tBodyGyroMag.energy..                <dbl> -0.9992865, -0.9997247, -0.999640~
## $ tBodyGyroMag.iqr..                   <dbl> -0.9497658, -0.9828568, -0.983454~
## $ tBodyGyroMag.entropy..               <dbl> 0.07257904, -0.19289906, -0.22282~
## $ tBodyGyroMag.arCoeff..1              <dbl> 0.57251142, -0.22531738, -0.22683~
## $ tBodyGyroMag.arCoeff..2              <dbl> -0.738602190, -0.017059623, 0.059~
## $ tBodyGyroMag.arCoeff..3              <dbl> 0.21257776, 0.15577724, 0.0614761~
## $ tBodyGyroMag.arCoeff..4              <dbl> 0.43340495, 0.08257521, 0.0417021~
## $ tBodyGyroJerkMag.mean..              <dbl> -0.9942478, -0.9951232, -0.993403~
## $ tBodyGyroJerkMag.std..               <dbl> -0.9913676, -0.9961016, -0.995091~
## $ tBodyGyroJerkMag.mad..               <dbl> -0.9931430, -0.9958385, -0.994859~
## $ tBodyGyroJerkMag.max..               <dbl> -0.9889356, -0.9965449, -0.995359~
## $ tBodyGyroJerkMag.min..               <dbl> -0.9934860, -0.9920060, -0.997651~
## $ tBodyGyroJerkMag.sma..               <dbl> -0.9942478, -0.9951232, -0.993403~
## $ tBodyGyroJerkMag.energy..            <dbl> -0.9999490, -0.9999698, -0.999954~
## $ tBodyGyroJerkMag.iqr..               <dbl> -0.9945472, -0.9948192, -0.993988~
## $ tBodyGyroJerkMag.entropy..           <dbl> -0.6197676, -0.7307216, -0.662913~
## $ tBodyGyroJerkMag.arCoeff..1          <dbl> 0.2928405, 0.2093341, 0.3280315, ~
## $ tBodyGyroJerkMag.arCoeff..2          <dbl> -0.1768892, -0.1781126, -0.154560~
## $ tBodyGyroJerkMag.arCoeff..3          <dbl> -0.145779210, -0.103084330, -0.22~
## $ tBodyGyroJerkMag.arCoeff..4          <dbl> -0.124072330, -0.043823965, -0.10~
## $ fBodyAcc.mean...X                    <dbl> -0.9947832, -0.9974507, -0.993594~
## $ fBodyAcc.mean...Y                    <dbl> -0.9829841, -0.9768517, -0.972511~
## $ fBodyAcc.mean...Z                    <dbl> -0.9392687, -0.9735227, -0.983304~
## $ fBodyAcc.std...X                     <dbl> -0.9954217, -0.9986803, -0.996312~
## $ fBodyAcc.std...Y                     <dbl> -0.9831330, -0.9749298, -0.965505~
## $ fBodyAcc.std...Z                     <dbl> -0.9061650, -0.9554381, -0.977049~
## $ fBodyAcc.mad...X                     <dbl> -0.9968886, -0.9978897, -0.994097~
## $ fBodyAcc.mad...Y                     <dbl> -0.9845193, -0.9769239, -0.971686~
## $ fBodyAcc.mad...Z                     <dbl> -0.9320820, -0.9683768, -0.982169~
## $ fBodyAcc.max...X                     <dbl> -0.9937563, -0.9993717, -0.998158~
## $ fBodyAcc.max...Y                     <dbl> -0.9831629, -0.9737703, -0.963071~
## $ fBodyAcc.max...Z                     <dbl> -0.8850542, -0.9487768, -0.968595~
## $ fBodyAcc.min...X                     <dbl> -0.9939619, -0.9982806, -0.997093~
## $ fBodyAcc.min...Y                     <dbl> -0.9934461, -0.9927209, -0.989923~
## $ fBodyAcc.min...Z                     <dbl> -0.9234277, -0.9895135, -0.990885~
## $ fBodyAcc.sma..                       <dbl> -0.9747327, -0.9858116, -0.985821~
## $ fBodyAcc.energy...X                  <dbl> -0.9999684, -0.9999908, -0.999969~
## $ fBodyAcc.energy...Y                  <dbl> -0.9996891, -0.9994499, -0.999137~
## $ fBodyAcc.energy...Z                  <dbl> -0.9948915, -0.9985691, -0.999433~
## $ fBodyAcc.iqr...X                     <dbl> -0.9959260, -0.9948649, -0.988569~
## $ fBodyAcc.iqr...Y                     <dbl> -0.9897089, -0.9807836, -0.977242~
## $ fBodyAcc.iqr...Z                     <dbl> -0.9879912, -0.9857747, -0.981301~
## $ fBodyAcc.entropy...X                 <dbl> -0.9463569, -1.0000000, -1.000000~
## $ fBodyAcc.entropy...Y                 <dbl> -0.9047478, -0.9047478, -0.815786~
## $ fBodyAcc.entropy...Z                 <dbl> -0.5913025, -0.7584085, -0.813513~
## $ fBodyAcc.maxInds.X                   <dbl> -1.00000000, 0.09677419, -0.93548~
## $ fBodyAcc.maxInds.Y                   <dbl> -1.0000000, -1.0000000, -1.000000~
## $ fBodyAcc.maxInds.Z                   <dbl> -1.0000000, -1.0000000, -1.000000~
## $ fBodyAcc.meanFreq...X                <dbl> 0.252482900, 0.271308550, 0.12453~
## $ fBodyAcc.meanFreq...Y                <dbl> 0.13183575, 0.04286364, -0.064610~
## $ fBodyAcc.meanFreq...Z                <dbl> -0.05205025, -0.01430976, 0.08267~
## $ fBodyAcc.skewness...X                <dbl> 0.1420506, -0.6925409, -0.7272273~
## $ fBodyAcc.kurtosis...X                <dbl> -0.15068250, -0.95404703, -0.9654~
## $ fBodyAcc.skewness...Y                <dbl> -0.22054694, -0.04970910, 0.16306~
## $ fBodyAcc.kurtosis...Y                <dbl> -0.55873853, -0.33197386, -0.0921~
## $ fBodyAcc.skewness...Z                <dbl> 0.24676868, 0.05667537, -0.044936~
## $ fBodyAcc.kurtosis...Z                <dbl> -0.007415521, -0.289001440, -0.28~
## $ fBodyAcc.bandsEnergy...1.8           <dbl> -0.9999628, -0.9999962, -0.999989~
## $ fBodyAcc.bandsEnergy...9.16          <dbl> -0.9999865, -0.9999818, -0.999961~
## $ fBodyAcc.bandsEnergy...17.24         <dbl> -0.9999791, -0.9999440, -0.999815~
## $ fBodyAcc.bandsEnergy...25.32         <dbl> -0.9999624, -0.9999699, -0.999847~
## $ fBodyAcc.bandsEnergy...33.40         <dbl> -0.9999322, -0.9999189, -0.999939~
## $ fBodyAcc.bandsEnergy...41.48         <dbl> -0.9997251, -0.9998657, -0.999921~
## $ fBodyAcc.bandsEnergy...49.56         <dbl> -0.9996704, -0.9999651, -0.999923~
## $ fBodyAcc.bandsEnergy...57.64         <dbl> -0.9999858, -0.9999995, -0.999996~
## $ fBodyAcc.bandsEnergy...1.16          <dbl> -0.9999687, -0.9999939, -0.999982~
## $ fBodyAcc.bandsEnergy...17.32         <dbl> -0.9999769, -0.9999490, -0.999802~
## $ fBodyAcc.bandsEnergy...33.48         <dbl> -0.9998697, -0.9999140, -0.999947~
## $ fBodyAcc.bandsEnergy...49.64         <dbl> -0.9997761, -0.9999766, -0.999947~
## $ fBodyAcc.bandsEnergy...1.24          <dbl> -0.9999712, -0.9999921, -0.999972~
## $ fBodyAcc.bandsEnergy...25.48         <dbl> -0.9999193, -0.9999459, -0.999874~
## $ fBodyAcc.bandsEnergy...1.8.1         <dbl> -0.9996568, -0.9994166, -0.999006~
## $ fBodyAcc.bandsEnergy...9.16.1        <dbl> -0.9998605, -0.9998133, -0.999715~
## $ fBodyAcc.bandsEnergy...17.24.1       <dbl> -0.9998670, -0.9995686, -0.999657~
## $ fBodyAcc.bandsEnergy...25.32.1       <dbl> -0.9998630, -0.9998737, -0.999817~
## $ fBodyAcc.bandsEnergy...33.40.1       <dbl> -0.9997378, -0.9995489, -0.999635~
## $ fBodyAcc.bandsEnergy...41.48.1       <dbl> -0.9997322, -0.9997371, -0.999678~
## $ fBodyAcc.bandsEnergy...49.56.1       <dbl> -0.9994926, -0.9995658, -0.999615~
## $ fBodyAcc.bandsEnergy...57.64.1       <dbl> -0.9998136, -0.9999053, -0.999879~
## $ fBodyAcc.bandsEnergy...1.16.1        <dbl> -0.9996818, -0.9994735, -0.999108~
## $ fBodyAcc.bandsEnergy...17.32.1       <dbl> -0.9998394, -0.9995542, -0.999624~
## $ fBodyAcc.bandsEnergy...33.48.1       <dbl> -0.9997382, -0.9996020, -0.999643~
## $ fBodyAcc.bandsEnergy...49.64.1       <dbl> -0.9996120, -0.9996953, -0.999715~
## $ fBodyAcc.bandsEnergy...1.24.1        <dbl> -0.9996872, -0.9994442, -0.999126~
## $ fBodyAcc.bandsEnergy...25.48.1       <dbl> -0.9998386, -0.9998042, -0.999775~
## $ fBodyAcc.bandsEnergy...1.8.2         <dbl> -0.9935923, -0.9982346, -0.999388~
## $ fBodyAcc.bandsEnergy...9.16.2        <dbl> -0.9994758, -0.9997692, -0.999724~
## $ fBodyAcc.bandsEnergy...17.24.2       <dbl> -0.9996620, -0.9996922, -0.999718~
## $ fBodyAcc.bandsEnergy...25.32.2       <dbl> -0.9996423, -0.9998749, -0.999798~
## $ fBodyAcc.bandsEnergy...33.40.2       <dbl> -0.9992934, -0.9996656, -0.999752~
## $ fBodyAcc.bandsEnergy...41.48.2       <dbl> -0.9978922, -0.9994483, -0.999629~
## $ fBodyAcc.bandsEnergy...49.56.2       <dbl> -0.9959325, -0.9989302, -0.999686~
## $ fBodyAcc.bandsEnergy...57.64.2       <dbl> -0.9951464, -0.9987544, -0.999911~
## $ fBodyAcc.bandsEnergy...1.16.2        <dbl> -0.9947399, -0.9985456, -0.999453~
## $ fBodyAcc.bandsEnergy...17.32.2       <dbl> -0.9996883, -0.9997918, -0.999780~
## $ fBodyAcc.bandsEnergy...33.48.2       <dbl> -0.9989246, -0.9996312, -0.999748~
## $ fBodyAcc.bandsEnergy...49.64.2       <dbl> -0.9956713, -0.9988775, -0.999760~
## $ fBodyAcc.bandsEnergy...1.24.2        <dbl> -0.9948773, -0.9985534, -0.999434~
## $ fBodyAcc.bandsEnergy...25.48.2       <dbl> -0.9994544, -0.9998221, -0.999800~
## $ fBodyAccJerk.mean...X                <dbl> -0.9923325, -0.9950322, -0.990993~
## $ fBodyAccJerk.mean...Y                <dbl> -0.9871699, -0.9813115, -0.981642~
## $ fBodyAccJerk.mean...Z                <dbl> -0.9896961, -0.9897398, -0.987566~
## $ fBodyAccJerk.std...X                 <dbl> -0.9958207, -0.9966523, -0.991248~
## $ fBodyAccJerk.std...Y                 <dbl> -0.9909363, -0.9820839, -0.981414~
## $ fBodyAccJerk.std...Z                 <dbl> -0.9970517, -0.9926268, -0.990415~
## $ fBodyAccJerk.mad...X                 <dbl> -0.9938055, -0.9949767, -0.987751~
## $ fBodyAccJerk.mad...Y                 <dbl> -0.9905187, -0.9829295, -0.981091~
## $ fBodyAccJerk.mad...Z                 <dbl> -0.9969928, -0.9916414, -0.987723~
## $ fBodyAccJerk.max...X                 <dbl> -0.9967369, -0.9974245, -0.995163~
## $ fBodyAccJerk.max...Y                 <dbl> -0.9919752, -0.9849232, -0.985350~
## $ fBodyAccJerk.max...Z                 <dbl> -0.9932417, -0.9931870, -0.993911~
## $ fBodyAccJerk.min...X                 <dbl> -0.9983491, -0.9979168, -0.997482~
## $ fBodyAccJerk.min...Y                 <dbl> -0.9911084, -0.9825186, -0.998571~
## $ fBodyAccJerk.min...Z                 <dbl> -0.9598854, -0.9868384, -0.997554~
## $ fBodyAccJerk.sma..                   <dbl> -0.9905150, -0.9898509, -0.987237~
## $ fBodyAccJerk.energy...X              <dbl> -0.9999347, -0.9999596, -0.999894~
## $ fBodyAccJerk.energy...Y              <dbl> -0.9998205, -0.9996396, -0.999636~
## $ fBodyAccJerk.energy...Z              <dbl> -0.9998845, -0.9998466, -0.999795~
## $ fBodyAccJerk.iqr...X                 <dbl> -0.9930263, -0.9928434, -0.981816~
## $ fBodyAccJerk.iqr...Y                 <dbl> -0.9913734, -0.9852207, -0.984764~
## $ fBodyAccJerk.iqr...Z                 <dbl> -0.9962396, -0.9910493, -0.982364~
## $ fBodyAccJerk.entropy...X             <dbl> -1, -1, -1, -1, -1, -1, -1, -1, -~
## $ fBodyAccJerk.entropy...Y             <dbl> -1.0000000, -1.0000000, -1.000000~
## $ fBodyAccJerk.entropy...Z             <dbl> -1, -1, -1, -1, -1, -1, -1, -1, -~
## $ fBodyAccJerk.maxInds.X               <dbl> 1.00, -0.32, -0.16, -0.12, -0.32,~
## $ fBodyAccJerk.maxInds.Y               <dbl> -0.24, -0.12, -0.48, -0.56, -0.08~
## $ fBodyAccJerk.maxInds.Z               <dbl> -1.00, -0.32, -0.28, -0.28, 0.04,~
## $ fBodyAccJerk.meanFreq...X            <dbl> 0.87038451, 0.60851352, 0.1154340~
## $ fBodyAccJerk.meanFreq...Y            <dbl> 0.210697000, -0.053675613, -0.193~
## $ fBodyAccJerk.meanFreq...Z            <dbl> 0.26370789, 0.06314827, 0.0382543~
## $ fBodyAccJerk.skewness...X            <dbl> -0.7036858, -0.6303049, -0.594758~
## $ fBodyAccJerk.kurtosis...X            <dbl> -0.9037425, -0.9103945, -0.923541~
## $ fBodyAccJerk.skewness...Y            <dbl> -0.5825736, -0.4144235, -0.528934~
## $ fBodyAccJerk.kurtosis...Y            <dbl> -0.9363101, -0.8505864, -0.912985~
## $ fBodyAccJerk.skewness...Z            <dbl> -0.5073447, -0.6555347, -0.803406~
## $ fBodyAccJerk.kurtosis...Z            <dbl> -0.8055359, -0.9159869, -0.980133~
## $ fBodyAccJerk.bandsEnergy...1.8       <dbl> -0.9999865, -0.9999963, -0.999993~
## $ fBodyAccJerk.bandsEnergy...9.16      <dbl> -0.9999796, -0.9999797, -0.999944~
## $ fBodyAccJerk.bandsEnergy...17.24     <dbl> -0.9999748, -0.9999489, -0.999827~
## $ fBodyAccJerk.bandsEnergy...25.32     <dbl> -0.9999551, -0.9999683, -0.999841~
## $ fBodyAccJerk.bandsEnergy...33.40     <dbl> -0.9999186, -0.9999101, -0.999922~
## $ fBodyAccJerk.bandsEnergy...41.48     <dbl> -0.9996401, -0.9998137, -0.999905~
## $ fBodyAccJerk.bandsEnergy...49.56     <dbl> -0.9994833, -0.9999203, -0.999873~
## $ fBodyAccJerk.bandsEnergy...57.64     <dbl> -0.9999609, -0.9999607, -0.999996~
## $ fBodyAccJerk.bandsEnergy...1.16      <dbl> -0.9999823, -0.9999867, -0.999962~
## $ fBodyAccJerk.bandsEnergy...17.32     <dbl> -0.9999707, -0.9999560, -0.999803~
## $ fBodyAccJerk.bandsEnergy...33.48     <dbl> -0.9998110, -0.9998767, -0.999922~
## $ fBodyAccJerk.bandsEnergy...49.64     <dbl> -0.9994847, -0.9999141, -0.999875~
## $ fBodyAccJerk.bandsEnergy...1.24      <dbl> -0.9999808, -0.9999744, -0.999908~
## $ fBodyAccJerk.bandsEnergy...25.48     <dbl> -0.9998519, -0.9999058, -0.999843~
## $ fBodyAccJerk.bandsEnergy...1.8.1     <dbl> -0.9999326, -0.9998610, -0.999820~
## $ fBodyAccJerk.bandsEnergy...9.16.1    <dbl> -0.9998999, -0.9998272, -0.999743~
## $ fBodyAccJerk.bandsEnergy...17.24.1   <dbl> -0.9998244, -0.9994565, -0.999559~
## $ fBodyAccJerk.bandsEnergy...25.32.1   <dbl> -0.9998598, -0.9998303, -0.999838~
## $ fBodyAccJerk.bandsEnergy...33.40.1   <dbl> -0.9997275, -0.9996093, -0.999667~
## $ fBodyAccJerk.bandsEnergy...41.48.1   <dbl> -0.9997288, -0.9996855, -0.999627~
## $ fBodyAccJerk.bandsEnergy...49.56.1   <dbl> -0.9995671, -0.9995761, -0.999703~
## $ fBodyAccJerk.bandsEnergy...57.64.1   <dbl> -0.9997652, -0.9999370, -0.999993~
## $ fBodyAccJerk.bandsEnergy...1.16.1    <dbl> -0.9999002, -0.9998174, -0.999732~
## $ fBodyAccJerk.bandsEnergy...17.32.1   <dbl> -0.9998149, -0.9995325, -0.999611~
## $ fBodyAccJerk.bandsEnergy...33.48.1   <dbl> -0.9997098, -0.9995952, -0.999617~
## $ fBodyAccJerk.bandsEnergy...49.64.1   <dbl> -0.9995961, -0.9996257, -0.999744~
## $ fBodyAccJerk.bandsEnergy...1.24.1    <dbl> -0.9998522, -0.9996299, -0.999613~
## $ fBodyAccJerk.bandsEnergy...25.48.1   <dbl> -0.9998221, -0.9997593, -0.999773~
## $ fBodyAccJerk.bandsEnergy...1.8.2     <dbl> -0.9993999, -0.9998589, -0.999870~
## $ fBodyAccJerk.bandsEnergy...9.16.2    <dbl> -0.9997656, -0.9998465, -0.999783~
## $ fBodyAccJerk.bandsEnergy...17.24.2   <dbl> -0.9999585, -0.9997949, -0.999739~
## $ fBodyAccJerk.bandsEnergy...25.32.2   <dbl> -0.9999495, -0.9998009, -0.999786~
## $ fBodyAccJerk.bandsEnergy...33.40.2   <dbl> -0.9998385, -0.9998193, -0.999772~
## $ fBodyAccJerk.bandsEnergy...41.48.2   <dbl> -0.9998135, -0.9997692, -0.999626~
## $ fBodyAccJerk.bandsEnergy...49.56.2   <dbl> -0.9987805, -0.9996370, -0.999487~
## $ fBodyAccJerk.bandsEnergy...57.64.2   <dbl> -0.9985778, -0.9999545, -0.999995~
## $ fBodyAccJerk.bandsEnergy...1.16.2    <dbl> -0.9996197, -0.9998519, -0.999802~
## $ fBodyAccJerk.bandsEnergy...17.32.2   <dbl> -0.9999836, -0.9998273, -0.999792~
## $ fBodyAccJerk.bandsEnergy...33.48.2   <dbl> -0.9998281, -0.9998001, -0.999720~
## $ fBodyAccJerk.bandsEnergy...49.64.2   <dbl> -0.9986807, -0.9996510, -0.999513~
## $ fBodyAccJerk.bandsEnergy...1.24.2    <dbl> -0.9998442, -0.9998350, -0.999775~
## $ fBodyAccJerk.bandsEnergy...25.48.2   <dbl> -0.9999279, -0.9998267, -0.999786~
## $ fBodyGyro.mean...X                   <dbl> -0.9865744, -0.9773867, -0.975433~
## $ fBodyGyro.mean...Y                   <dbl> -0.9817615, -0.9925300, -0.993714~
## $ fBodyGyro.mean...Z                   <dbl> -0.9895148, -0.9896058, -0.986755~
## $ fBodyGyro.std...X                    <dbl> -0.9850326, -0.9849043, -0.976642~
## $ fBodyGyro.std...Y                    <dbl> -0.9738861, -0.9871681, -0.993399~
## $ fBodyGyro.std...Z                    <dbl> -0.9940349, -0.9897847, -0.987328~
## $ fBodyGyro.mad...X                    <dbl> -0.9865308, -0.9793612, -0.975609~
## $ fBodyGyro.mad...Y                    <dbl> -0.9836164, -0.9918368, -0.993707~
## $ fBodyGyro.mad...Z                    <dbl> -0.9923520, -0.9879651, -0.985030~
## $ fBodyGyro.max...X                    <dbl> -0.9804984, -0.9873538, -0.972901~
## $ fBodyGyro.max...Y                    <dbl> -0.9722709, -0.9847864, -0.994986~
## $ fBodyGyro.max...Z                    <dbl> -0.9949443, -0.9901508, -0.991283~
## $ fBodyGyro.min...X                    <dbl> -0.9975686, -0.9868918, -0.988311~
## $ fBodyGyro.min...Y                    <dbl> -0.9840851, -0.9990535, -0.997232~
## $ fBodyGyro.min...Z                    <dbl> -0.9943354, -0.9944137, -0.993636~
## $ fBodyGyro.sma..                      <dbl> -0.9852762, -0.9868687, -0.986008~
## $ fBodyGyro.energy...X                 <dbl> -0.9998637, -0.9998249, -0.999673~
## $ fBodyGyro.energy...Y                 <dbl> -0.9996661, -0.9999115, -0.999962~
## $ fBodyGyro.energy...Z                 <dbl> -0.9999346, -0.9998921, -0.999846~
## $ fBodyGyro.iqr...X                    <dbl> -0.9903439, -0.9870994, -0.985536~
## $ fBodyGyro.iqr...Y                    <dbl> -0.9948357, -0.9955637, -0.995392~
## $ fBodyGyro.iqr...Z                    <dbl> -0.9944116, -0.9872545, -0.992550~
## $ fBodyGyro.entropy...X                <dbl> -0.7124023, -0.6111119, -0.590986~
## $ fBodyGyro.entropy...Y                <dbl> -0.6448424, -0.7646030, -0.808287~
## $ fBodyGyro.entropy...Z                <dbl> -0.8389930, -0.7510797, -0.751079~
## $ fBodyGyro.maxInds.X                  <dbl> -1.0000000, -1.0000000, -1.000000~
## $ fBodyGyro.maxInds.Y                  <dbl> -1.0000000, -1.0000000, -0.870967~
## $ fBodyGyro.maxInds.Z                  <dbl> -1.0000000, -1.0000000, -1.000000~
## $ fBodyGyro.meanFreq...X               <dbl> -0.25754888, -0.04816744, -0.2166~
## $ fBodyGyro.meanFreq...Y               <dbl> 0.09794711, -0.40160791, -0.01726~
## $ fBodyGyro.meanFreq...Z               <dbl> 0.54715105, -0.06817833, -0.11072~
## $ fBodyGyro.skewness...X               <dbl> 0.377311210, -0.458553310, 0.0905~
## $ fBodyGyro.kurtosis...X               <dbl> 0.1340915, -0.7970135, -0.2446911~
## $ fBodyGyro.skewness...Y               <dbl> 0.27337197, 0.38756889, -0.429272~
## $ fBodyGyro.kurtosis...Y               <dbl> -0.09126183, 0.14866483, -0.81263~
## $ fBodyGyro.skewness...Z               <dbl> -0.48434650, -0.15690927, -0.3919~
## $ fBodyGyro.kurtosis...Z               <dbl> -0.78285070, -0.45177589, -0.7674~
## $ fBodyGyro.bandsEnergy...1.8          <dbl> -0.9998650, -0.9998509, -0.999680~
## $ fBodyGyro.bandsEnergy...9.16         <dbl> -0.9999318, -0.9997943, -0.999828~
## $ fBodyGyro.bandsEnergy...17.24        <dbl> -0.9999729, -0.9999131, -0.999915~
## $ fBodyGyro.bandsEnergy...25.32        <dbl> -0.9999702, -0.9999182, -0.999932~
## $ fBodyGyro.bandsEnergy...33.40        <dbl> -0.9999301, -0.9998964, -0.999847~
## $ fBodyGyro.bandsEnergy...41.48        <dbl> -0.9999586, -0.9998853, -0.999841~
## $ fBodyGyro.bandsEnergy...49.56        <dbl> -0.9999290, -0.9997842, -0.999863~
## $ fBodyGyro.bandsEnergy...57.64        <dbl> -0.9999847, -0.9997824, -0.999862~
## $ fBodyGyro.bandsEnergy...1.16         <dbl> -0.9998633, -0.9998299, -0.999674~
## $ fBodyGyro.bandsEnergy...17.32        <dbl> -0.9999681, -0.9998988, -0.999906~
## $ fBodyGyro.bandsEnergy...33.48        <dbl> -0.9999361, -0.9998828, -0.999831~
## $ fBodyGyro.bandsEnergy...49.64        <dbl> -0.9999536, -0.9997834, -0.999862~
## $ fBodyGyro.bandsEnergy...1.24         <dbl> -0.9998644, -0.9998283, -0.999675~
## $ fBodyGyro.bandsEnergy...25.48        <dbl> -0.9999610, -0.9999080, -0.999903~
## $ fBodyGyro.bandsEnergy...1.8.1        <dbl> -0.9994537, -0.9998564, -0.999954~
## $ fBodyGyro.bandsEnergy...9.16.1       <dbl> -0.9999781, -0.9999885, -0.999987~
## $ fBodyGyro.bandsEnergy...17.24.1      <dbl> -0.9999915, -0.9999957, -0.999990~
## $ fBodyGyro.bandsEnergy...25.32.1      <dbl> -0.9999901, -0.9999942, -0.999994~
## $ fBodyGyro.bandsEnergy...33.40.1      <dbl> -0.9999686, -0.9999861, -0.999973~
## $ fBodyGyro.bandsEnergy...41.48.1      <dbl> -0.9998066, -0.9999845, -0.999942~
## $ fBodyGyro.bandsEnergy...49.56.1      <dbl> -0.9983460, -0.9999800, -0.999986~
## $ fBodyGyro.bandsEnergy...57.64.1      <dbl> -0.9989612, -0.9999900, -0.999993~
## $ fBodyGyro.bandsEnergy...1.16.1       <dbl> -0.9996187, -0.9998966, -0.999962~
## $ fBodyGyro.bandsEnergy...17.32.1      <dbl> -0.9999893, -0.9999945, -0.999989~
## $ fBodyGyro.bandsEnergy...33.48.1      <dbl> -0.9999354, -0.9999860, -0.999967~
## $ fBodyGyro.bandsEnergy...49.64.1      <dbl> -0.9983875, -0.9999817, -0.999987~
## $ fBodyGyro.bandsEnergy...1.24.1       <dbl> -0.9996426, -0.9999026, -0.999960~
## $ fBodyGyro.bandsEnergy...25.48.1      <dbl> -0.9999727, -0.9999917, -0.999985~
## $ fBodyGyro.bandsEnergy...1.8.2        <dbl> -0.9999554, -0.9999089, -0.999870~
## $ fBodyGyro.bandsEnergy...9.16.2       <dbl> -0.9999763, -0.9999594, -0.999934~
## $ fBodyGyro.bandsEnergy...17.24.2      <dbl> -0.9999058, -0.9999281, -0.999934~
## $ fBodyGyro.bandsEnergy...25.32.2      <dbl> -0.9999855, -0.9999663, -0.999957~
## $ fBodyGyro.bandsEnergy...33.40.2      <dbl> -0.9999372, -0.9999855, -0.999952~
## $ fBodyGyro.bandsEnergy...41.48.2      <dbl> -0.9997512, -0.9999264, -0.999909~
## $ fBodyGyro.bandsEnergy...49.56.2      <dbl> -0.9990723, -0.9999615, -0.999889~
## $ fBodyGyro.bandsEnergy...57.64.2      <dbl> -0.9999275, -0.9999831, -0.999988~
## $ fBodyGyro.bandsEnergy...1.16.2       <dbl> -0.9999516, -0.9999017, -0.999856~
## $ fBodyGyro.bandsEnergy...17.32.2      <dbl> -0.9999058, -0.9999178, -0.999919~
## $ fBodyGyro.bandsEnergy...33.48.2      <dbl> -0.9998927, -0.9999754, -0.999946~
## $ fBodyGyro.bandsEnergy...49.64.2      <dbl> -0.9994443, -0.9999711, -0.999932~
## $ fBodyGyro.bandsEnergy...1.24.2       <dbl> -0.9999410, -0.9998943, -0.999850~
## $ fBodyGyro.bandsEnergy...25.48.2      <dbl> -0.9999586, -0.9999710, -0.999955~
## $ fBodyAccMag.mean..                   <dbl> -0.9521547, -0.9808566, -0.987794~
## $ fBodyAccMag.std..                    <dbl> -0.9561340, -0.9758658, -0.989015~
## $ fBodyAccMag.mad..                    <dbl> -0.9488701, -0.9757769, -0.985593~
## $ fBodyAccMag.max..                    <dbl> -0.9743206, -0.9782264, -0.993061~
## $ fBodyAccMag.min..                    <dbl> -0.9257218, -0.9869108, -0.989836~
## $ fBodyAccMag.sma..                    <dbl> -0.9521547, -0.9808566, -0.987794~
## $ fBodyAccMag.energy..                 <dbl> -0.9982852, -0.9994719, -0.999806~
## $ fBodyAccMag.iqr..                    <dbl> -0.9732732, -0.9844792, -0.989237~
## $ fBodyAccMag.entropy..                <dbl> -0.6463764, -0.8166736, -0.907014~
## $ fBodyAccMag.maxInds                  <dbl> -0.7931035, -1.0000000, -0.862069~
## $ fBodyAccMag.meanFreq..               <dbl> -0.08843612, -0.04414989, 0.25789~
## $ fBodyAccMag.skewness..               <dbl> -0.43647104, -0.12204037, -0.6187~
## $ fBodyAccMag.kurtosis..               <dbl> -0.7968405, -0.4495219, -0.879684~
## $ fBodyBodyAccJerkMag.mean..           <dbl> -0.9937257, -0.9903355, -0.989280~
## $ fBodyBodyAccJerkMag.std..            <dbl> -0.9937550, -0.9919603, -0.990866~
## $ fBodyBodyAccJerkMag.mad..            <dbl> -0.9919757, -0.9897320, -0.987274~
## $ fBodyBodyAccJerkMag.max..            <dbl> -0.9933647, -0.9944888, -0.993178~
## $ fBodyBodyAccJerkMag.min..            <dbl> -0.9881754, -0.9895488, -0.999889~
## $ fBodyBodyAccJerkMag.sma..            <dbl> -0.9937257, -0.9903355, -0.989280~
## $ fBodyBodyAccJerkMag.energy..         <dbl> -0.9999184, -0.9998669, -0.999845~
## $ fBodyBodyAccJerkMag.iqr..            <dbl> -0.9913637, -0.9911339, -0.986657~
## $ fBodyBodyAccJerkMag.entropy..        <dbl> -1, -1, -1, -1, -1, -1, -1, -1, -~
## $ fBodyBodyAccJerkMag.maxInds          <dbl> -0.9365079, -0.8412698, -0.904761~
## $ fBodyBodyAccJerkMag.meanFreq..       <dbl> 0.3469885, 0.5320605, 0.6607950, ~
## $ fBodyBodyAccJerkMag.skewness..       <dbl> -0.5160801, -0.6248710, -0.724696~
## $ fBodyBodyAccJerkMag.kurtosis..       <dbl> -0.8027600, -0.9001600, -0.928539~
## $ fBodyBodyGyroMag.mean..              <dbl> -0.9801349, -0.9882956, -0.989254~
## $ fBodyBodyGyroMag.std..               <dbl> -0.9613094, -0.9833219, -0.986027~
## $ fBodyBodyGyroMag.mad..               <dbl> -0.9736534, -0.9826593, -0.984273~
## $ fBodyBodyGyroMag.max..               <dbl> -0.9522638, -0.9863208, -0.990979~
## $ fBodyBodyGyroMag.min..               <dbl> -0.9894981, -0.9918288, -0.995703~
## $ fBodyBodyGyroMag.sma..               <dbl> -0.9801349, -0.9882956, -0.989254~
## $ fBodyBodyGyroMag.energy..            <dbl> -0.9992403, -0.9998112, -0.999853~
## $ fBodyBodyGyroMag.iqr..               <dbl> -0.9926555, -0.9939785, -0.993238~
## $ fBodyBodyGyroMag.entropy..           <dbl> -0.7012914, -0.7206830, -0.736521~
## $ fBodyBodyGyroMag.maxInds             <dbl> -1.0000000, -0.9487180, -0.794871~
## $ fBodyBodyGyroMag.meanFreq..          <dbl> -0.12898890, -0.27195846, -0.2127~
## $ fBodyBodyGyroMag.skewness..          <dbl> 0.586156430, -0.336310410, -0.535~
## $ fBodyBodyGyroMag.kurtosis..          <dbl> 0.37460462, -0.72001508, -0.87191~
## $ fBodyBodyGyroJerkMag.mean..          <dbl> -0.9919904, -0.9958539, -0.995030~
## $ fBodyBodyGyroJerkMag.std..           <dbl> -0.9906975, -0.9963995, -0.995127~
## $ fBodyBodyGyroJerkMag.mad..           <dbl> -0.9899408, -0.9954421, -0.994639~
## $ fBodyBodyGyroJerkMag.max..           <dbl> -0.9924478, -0.9968660, -0.996059~
## $ fBodyBodyGyroJerkMag.min..           <dbl> -0.9910477, -0.9944397, -0.995866~
## $ fBodyBodyGyroJerkMag.sma..           <dbl> -0.9919904, -0.9958539, -0.995030~
## $ fBodyBodyGyroJerkMag.energy..        <dbl> -0.9999368, -0.9999807, -0.999973~
## $ fBodyBodyGyroJerkMag.iqr..           <dbl> -0.9904579, -0.9945437, -0.993755~
## $ fBodyBodyGyroJerkMag.entropy..       <dbl> -0.8713058, -1.0000000, -1.000000~
## $ fBodyBodyGyroJerkMag.maxInds         <dbl> -1.00000000, -1.00000000, -0.5555~
## $ fBodyBodyGyroJerkMag.meanFreq..      <dbl> -0.07432303, 0.15807454, 0.414502~
## $ fBodyBodyGyroJerkMag.skewness..      <dbl> -0.29867637, -0.59505094, -0.3907~
## $ fBodyBodyGyroJerkMag.kurtosis..      <dbl> -0.71030407, -0.86149931, -0.7601~
## $ angle.tBodyAccMean.gravity.          <dbl> -0.112754340, 0.053476955, -0.118~
## $ angle.tBodyAccJerkMean..gravityMean. <dbl> 0.030400372, -0.007434566, 0.1778~
## $ angle.tBodyGyroMean.gravityMean.     <dbl> -0.464761390, -0.732626210, 0.100~
## $ angle.tBodyGyroJerkMean.gravityMean. <dbl> -0.01844588, 0.70351059, 0.808529~
## $ angle.X.gravityMean.                 <dbl> -0.8412468, -0.8447876, -0.848933~
## $ angle.Y.gravityMean.                 <dbl> 0.1799406, 0.1802889, 0.1806373, ~
## $ angle.Z.gravityMean.                 <dbl> -0.05862692, -0.05431672, -0.0491~
## $ subject                              <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ~
## $ Activity                             <chr> "STANDING", "STANDING", "STANDING~

We have a dataset that includes 10299 observations on 562 predictor variables and 1 target variable:

  • Activity: (Target) type of the activity perform by user (standing, sitting, etc.)
  • subject: An identifier of the subject who carried out the experiment.
  • Other variables are the measurement from the smartphone sensors (accelerometer and gyroscope). with numeric data type and has range -1 to 1. they are:
    • Triaxial acceleration from the accelerometer (total acceleration) and the estimated body acceleration.
    • Triaxial Angular velocity from the gyroscope.
    • A 561-feature vector with time and frequency domain variables.

We will convert the Activity and subject variables to the type factor to make it categorical:

data$Activity %<>% as.factor()
data$subject %<>% as.factor()

Description of variables

Due to there are too many variable we will select only some variable to see its general characteristic.

data %>% 
  select(Activity, subject, tBodyAcc.arCoeff...X.1, tGravityAcc.mean...X) %>% 
  summary()
##                Activity       subject     tBodyAcc.arCoeff...X.1
##  LAYING            :1944   25     : 409   Min.   :-1.0000       
##  SITTING           :1777   21     : 408   1st Qu.:-0.3686       
##  STANDING          :1906   26     : 392   Median :-0.1362       
##  WALKING           :1722   30     : 383   Mean   :-0.1190       
##  WALKING_DOWNSTAIRS:1406   28     : 382   3rd Qu.: 0.1332       
##  WALKING_UPSTAIRS  :1544   24     : 381   Max.   : 1.0000       
##                            (Other):7944                         
##  tGravityAcc.mean...X
##  Min.   :-1.0000     
##  1st Qu.: 0.8117     
##  Median : 0.9218     
##  Mean   : 0.6692     
##  3rd Qu.: 0.9547     
##  Max.   : 1.0000     
## 

Let us first see the proportion of categorical variables

data %>% inspect_cat() %>% 
  show_plot()

As we can see the categorical variables are well proportioned. we can continue the process with data cleaning.

Data Cleaning

Firts we check for any missing values.

colSums(is.na(data))
##                    tBodyAcc.mean...X                    tBodyAcc.mean...Y 
##                                    0                                    0 
##                    tBodyAcc.mean...Z                     tBodyAcc.std...X 
##                                    0                                    0 
##                     tBodyAcc.std...Y                     tBodyAcc.std...Z 
##                                    0                                    0 
##                     tBodyAcc.mad...X                     tBodyAcc.mad...Y 
##                                    0                                    0 
##                     tBodyAcc.mad...Z                     tBodyAcc.max...X 
##                                    0                                    0 
##                     tBodyAcc.max...Y                     tBodyAcc.max...Z 
##                                    0                                    0 
##                     tBodyAcc.min...X                     tBodyAcc.min...Y 
##                                    0                                    0 
##                     tBodyAcc.min...Z                       tBodyAcc.sma.. 
##                                    0                                    0 
##                  tBodyAcc.energy...X                  tBodyAcc.energy...Y 
##                                    0                                    0 
##                  tBodyAcc.energy...Z                     tBodyAcc.iqr...X 
##                                    0                                    0 
##                     tBodyAcc.iqr...Y                     tBodyAcc.iqr...Z 
##                                    0                                    0 
##                 tBodyAcc.entropy...X                 tBodyAcc.entropy...Y 
##                                    0                                    0 
##                 tBodyAcc.entropy...Z               tBodyAcc.arCoeff...X.1 
##                                    0                                    0 
##               tBodyAcc.arCoeff...X.2               tBodyAcc.arCoeff...X.3 
##                                    0                                    0 
##               tBodyAcc.arCoeff...X.4               tBodyAcc.arCoeff...Y.1 
##                                    0                                    0 
##               tBodyAcc.arCoeff...Y.2               tBodyAcc.arCoeff...Y.3 
##                                    0                                    0 
##               tBodyAcc.arCoeff...Y.4               tBodyAcc.arCoeff...Z.1 
##                                    0                                    0 
##               tBodyAcc.arCoeff...Z.2               tBodyAcc.arCoeff...Z.3 
##                                    0                                    0 
##               tBodyAcc.arCoeff...Z.4           tBodyAcc.correlation...X.Y 
##                                    0                                    0 
##           tBodyAcc.correlation...X.Z           tBodyAcc.correlation...Y.Z 
##                                    0                                    0 
##                 tGravityAcc.mean...X                 tGravityAcc.mean...Y 
##                                    0                                    0 
##                 tGravityAcc.mean...Z                  tGravityAcc.std...X 
##                                    0                                    0 
##                  tGravityAcc.std...Y                  tGravityAcc.std...Z 
##                                    0                                    0 
##                  tGravityAcc.mad...X                  tGravityAcc.mad...Y 
##                                    0                                    0 
##                  tGravityAcc.mad...Z                  tGravityAcc.max...X 
##                                    0                                    0 
##                  tGravityAcc.max...Y                  tGravityAcc.max...Z 
##                                    0                                    0 
##                  tGravityAcc.min...X                  tGravityAcc.min...Y 
##                                    0                                    0 
##                  tGravityAcc.min...Z                    tGravityAcc.sma.. 
##                                    0                                    0 
##               tGravityAcc.energy...X               tGravityAcc.energy...Y 
##                                    0                                    0 
##               tGravityAcc.energy...Z                  tGravityAcc.iqr...X 
##                                    0                                    0 
##                  tGravityAcc.iqr...Y                  tGravityAcc.iqr...Z 
##                                    0                                    0 
##              tGravityAcc.entropy...X              tGravityAcc.entropy...Y 
##                                    0                                    0 
##              tGravityAcc.entropy...Z            tGravityAcc.arCoeff...X.1 
##                                    0                                    0 
##            tGravityAcc.arCoeff...X.2            tGravityAcc.arCoeff...X.3 
##                                    0                                    0 
##            tGravityAcc.arCoeff...X.4            tGravityAcc.arCoeff...Y.1 
##                                    0                                    0 
##            tGravityAcc.arCoeff...Y.2            tGravityAcc.arCoeff...Y.3 
##                                    0                                    0 
##            tGravityAcc.arCoeff...Y.4            tGravityAcc.arCoeff...Z.1 
##                                    0                                    0 
##            tGravityAcc.arCoeff...Z.2            tGravityAcc.arCoeff...Z.3 
##                                    0                                    0 
##            tGravityAcc.arCoeff...Z.4        tGravityAcc.correlation...X.Y 
##                                    0                                    0 
##        tGravityAcc.correlation...X.Z        tGravityAcc.correlation...Y.Z 
##                                    0                                    0 
##                tBodyAccJerk.mean...X                tBodyAccJerk.mean...Y 
##                                    0                                    0 
##                tBodyAccJerk.mean...Z                 tBodyAccJerk.std...X 
##                                    0                                    0 
##                 tBodyAccJerk.std...Y                 tBodyAccJerk.std...Z 
##                                    0                                    0 
##                 tBodyAccJerk.mad...X                 tBodyAccJerk.mad...Y 
##                                    0                                    0 
##                 tBodyAccJerk.mad...Z                 tBodyAccJerk.max...X 
##                                    0                                    0 
##                 tBodyAccJerk.max...Y                 tBodyAccJerk.max...Z 
##                                    0                                    0 
##                 tBodyAccJerk.min...X                 tBodyAccJerk.min...Y 
##                                    0                                    0 
##                 tBodyAccJerk.min...Z                   tBodyAccJerk.sma.. 
##                                    0                                    0 
##              tBodyAccJerk.energy...X              tBodyAccJerk.energy...Y 
##                                    0                                    0 
##              tBodyAccJerk.energy...Z                 tBodyAccJerk.iqr...X 
##                                    0                                    0 
##                 tBodyAccJerk.iqr...Y                 tBodyAccJerk.iqr...Z 
##                                    0                                    0 
##             tBodyAccJerk.entropy...X             tBodyAccJerk.entropy...Y 
##                                    0                                    0 
##             tBodyAccJerk.entropy...Z           tBodyAccJerk.arCoeff...X.1 
##                                    0                                    0 
##           tBodyAccJerk.arCoeff...X.2           tBodyAccJerk.arCoeff...X.3 
##                                    0                                    0 
##           tBodyAccJerk.arCoeff...X.4           tBodyAccJerk.arCoeff...Y.1 
##                                    0                                    0 
##           tBodyAccJerk.arCoeff...Y.2           tBodyAccJerk.arCoeff...Y.3 
##                                    0                                    0 
##           tBodyAccJerk.arCoeff...Y.4           tBodyAccJerk.arCoeff...Z.1 
##                                    0                                    0 
##           tBodyAccJerk.arCoeff...Z.2           tBodyAccJerk.arCoeff...Z.3 
##                                    0                                    0 
##           tBodyAccJerk.arCoeff...Z.4       tBodyAccJerk.correlation...X.Y 
##                                    0                                    0 
##       tBodyAccJerk.correlation...X.Z       tBodyAccJerk.correlation...Y.Z 
##                                    0                                    0 
##                   tBodyGyro.mean...X                   tBodyGyro.mean...Y 
##                                    0                                    0 
##                   tBodyGyro.mean...Z                    tBodyGyro.std...X 
##                                    0                                    0 
##                    tBodyGyro.std...Y                    tBodyGyro.std...Z 
##                                    0                                    0 
##                    tBodyGyro.mad...X                    tBodyGyro.mad...Y 
##                                    0                                    0 
##                    tBodyGyro.mad...Z                    tBodyGyro.max...X 
##                                    0                                    0 
##                    tBodyGyro.max...Y                    tBodyGyro.max...Z 
##                                    0                                    0 
##                    tBodyGyro.min...X                    tBodyGyro.min...Y 
##                                    0                                    0 
##                    tBodyGyro.min...Z                      tBodyGyro.sma.. 
##                                    0                                    0 
##                 tBodyGyro.energy...X                 tBodyGyro.energy...Y 
##                                    0                                    0 
##                 tBodyGyro.energy...Z                    tBodyGyro.iqr...X 
##                                    0                                    0 
##                    tBodyGyro.iqr...Y                    tBodyGyro.iqr...Z 
##                                    0                                    0 
##                tBodyGyro.entropy...X                tBodyGyro.entropy...Y 
##                                    0                                    0 
##                tBodyGyro.entropy...Z              tBodyGyro.arCoeff...X.1 
##                                    0                                    0 
##              tBodyGyro.arCoeff...X.2              tBodyGyro.arCoeff...X.3 
##                                    0                                    0 
##              tBodyGyro.arCoeff...X.4              tBodyGyro.arCoeff...Y.1 
##                                    0                                    0 
##              tBodyGyro.arCoeff...Y.2              tBodyGyro.arCoeff...Y.3 
##                                    0                                    0 
##              tBodyGyro.arCoeff...Y.4              tBodyGyro.arCoeff...Z.1 
##                                    0                                    0 
##              tBodyGyro.arCoeff...Z.2              tBodyGyro.arCoeff...Z.3 
##                                    0                                    0 
##              tBodyGyro.arCoeff...Z.4          tBodyGyro.correlation...X.Y 
##                                    0                                    0 
##          tBodyGyro.correlation...X.Z          tBodyGyro.correlation...Y.Z 
##                                    0                                    0 
##               tBodyGyroJerk.mean...X               tBodyGyroJerk.mean...Y 
##                                    0                                    0 
##               tBodyGyroJerk.mean...Z                tBodyGyroJerk.std...X 
##                                    0                                    0 
##                tBodyGyroJerk.std...Y                tBodyGyroJerk.std...Z 
##                                    0                                    0 
##                tBodyGyroJerk.mad...X                tBodyGyroJerk.mad...Y 
##                                    0                                    0 
##                tBodyGyroJerk.mad...Z                tBodyGyroJerk.max...X 
##                                    0                                    0 
##                tBodyGyroJerk.max...Y                tBodyGyroJerk.max...Z 
##                                    0                                    0 
##                tBodyGyroJerk.min...X                tBodyGyroJerk.min...Y 
##                                    0                                    0 
##                tBodyGyroJerk.min...Z                  tBodyGyroJerk.sma.. 
##                                    0                                    0 
##             tBodyGyroJerk.energy...X             tBodyGyroJerk.energy...Y 
##                                    0                                    0 
##             tBodyGyroJerk.energy...Z                tBodyGyroJerk.iqr...X 
##                                    0                                    0 
##                tBodyGyroJerk.iqr...Y                tBodyGyroJerk.iqr...Z 
##                                    0                                    0 
##            tBodyGyroJerk.entropy...X            tBodyGyroJerk.entropy...Y 
##                                    0                                    0 
##            tBodyGyroJerk.entropy...Z          tBodyGyroJerk.arCoeff...X.1 
##                                    0                                    0 
##          tBodyGyroJerk.arCoeff...X.2          tBodyGyroJerk.arCoeff...X.3 
##                                    0                                    0 
##          tBodyGyroJerk.arCoeff...X.4          tBodyGyroJerk.arCoeff...Y.1 
##                                    0                                    0 
##          tBodyGyroJerk.arCoeff...Y.2          tBodyGyroJerk.arCoeff...Y.3 
##                                    0                                    0 
##          tBodyGyroJerk.arCoeff...Y.4          tBodyGyroJerk.arCoeff...Z.1 
##                                    0                                    0 
##          tBodyGyroJerk.arCoeff...Z.2          tBodyGyroJerk.arCoeff...Z.3 
##                                    0                                    0 
##          tBodyGyroJerk.arCoeff...Z.4      tBodyGyroJerk.correlation...X.Y 
##                                    0                                    0 
##      tBodyGyroJerk.correlation...X.Z      tBodyGyroJerk.correlation...Y.Z 
##                                    0                                    0 
##                   tBodyAccMag.mean..                    tBodyAccMag.std.. 
##                                    0                                    0 
##                    tBodyAccMag.mad..                    tBodyAccMag.max.. 
##                                    0                                    0 
##                    tBodyAccMag.min..                    tBodyAccMag.sma.. 
##                                    0                                    0 
##                 tBodyAccMag.energy..                    tBodyAccMag.iqr.. 
##                                    0                                    0 
##                tBodyAccMag.entropy..               tBodyAccMag.arCoeff..1 
##                                    0                                    0 
##               tBodyAccMag.arCoeff..2               tBodyAccMag.arCoeff..3 
##                                    0                                    0 
##               tBodyAccMag.arCoeff..4                tGravityAccMag.mean.. 
##                                    0                                    0 
##                 tGravityAccMag.std..                 tGravityAccMag.mad.. 
##                                    0                                    0 
##                 tGravityAccMag.max..                 tGravityAccMag.min.. 
##                                    0                                    0 
##                 tGravityAccMag.sma..              tGravityAccMag.energy.. 
##                                    0                                    0 
##                 tGravityAccMag.iqr..             tGravityAccMag.entropy.. 
##                                    0                                    0 
##            tGravityAccMag.arCoeff..1            tGravityAccMag.arCoeff..2 
##                                    0                                    0 
##            tGravityAccMag.arCoeff..3            tGravityAccMag.arCoeff..4 
##                                    0                                    0 
##               tBodyAccJerkMag.mean..                tBodyAccJerkMag.std.. 
##                                    0                                    0 
##                tBodyAccJerkMag.mad..                tBodyAccJerkMag.max.. 
##                                    0                                    0 
##                tBodyAccJerkMag.min..                tBodyAccJerkMag.sma.. 
##                                    0                                    0 
##             tBodyAccJerkMag.energy..                tBodyAccJerkMag.iqr.. 
##                                    0                                    0 
##            tBodyAccJerkMag.entropy..           tBodyAccJerkMag.arCoeff..1 
##                                    0                                    0 
##           tBodyAccJerkMag.arCoeff..2           tBodyAccJerkMag.arCoeff..3 
##                                    0                                    0 
##           tBodyAccJerkMag.arCoeff..4                  tBodyGyroMag.mean.. 
##                                    0                                    0 
##                   tBodyGyroMag.std..                   tBodyGyroMag.mad.. 
##                                    0                                    0 
##                   tBodyGyroMag.max..                   tBodyGyroMag.min.. 
##                                    0                                    0 
##                   tBodyGyroMag.sma..                tBodyGyroMag.energy.. 
##                                    0                                    0 
##                   tBodyGyroMag.iqr..               tBodyGyroMag.entropy.. 
##                                    0                                    0 
##              tBodyGyroMag.arCoeff..1              tBodyGyroMag.arCoeff..2 
##                                    0                                    0 
##              tBodyGyroMag.arCoeff..3              tBodyGyroMag.arCoeff..4 
##                                    0                                    0 
##              tBodyGyroJerkMag.mean..               tBodyGyroJerkMag.std.. 
##                                    0                                    0 
##               tBodyGyroJerkMag.mad..               tBodyGyroJerkMag.max.. 
##                                    0                                    0 
##               tBodyGyroJerkMag.min..               tBodyGyroJerkMag.sma.. 
##                                    0                                    0 
##            tBodyGyroJerkMag.energy..               tBodyGyroJerkMag.iqr.. 
##                                    0                                    0 
##           tBodyGyroJerkMag.entropy..          tBodyGyroJerkMag.arCoeff..1 
##                                    0                                    0 
##          tBodyGyroJerkMag.arCoeff..2          tBodyGyroJerkMag.arCoeff..3 
##                                    0                                    0 
##          tBodyGyroJerkMag.arCoeff..4                    fBodyAcc.mean...X 
##                                    0                                    0 
##                    fBodyAcc.mean...Y                    fBodyAcc.mean...Z 
##                                    0                                    0 
##                     fBodyAcc.std...X                     fBodyAcc.std...Y 
##                                    0                                    0 
##                     fBodyAcc.std...Z                     fBodyAcc.mad...X 
##                                    0                                    0 
##                     fBodyAcc.mad...Y                     fBodyAcc.mad...Z 
##                                    0                                    0 
##                     fBodyAcc.max...X                     fBodyAcc.max...Y 
##                                    0                                    0 
##                     fBodyAcc.max...Z                     fBodyAcc.min...X 
##                                    0                                    0 
##                     fBodyAcc.min...Y                     fBodyAcc.min...Z 
##                                    0                                    0 
##                       fBodyAcc.sma..                  fBodyAcc.energy...X 
##                                    0                                    0 
##                  fBodyAcc.energy...Y                  fBodyAcc.energy...Z 
##                                    0                                    0 
##                     fBodyAcc.iqr...X                     fBodyAcc.iqr...Y 
##                                    0                                    0 
##                     fBodyAcc.iqr...Z                 fBodyAcc.entropy...X 
##                                    0                                    0 
##                 fBodyAcc.entropy...Y                 fBodyAcc.entropy...Z 
##                                    0                                    0 
##                   fBodyAcc.maxInds.X                   fBodyAcc.maxInds.Y 
##                                    0                                    0 
##                   fBodyAcc.maxInds.Z                fBodyAcc.meanFreq...X 
##                                    0                                    0 
##                fBodyAcc.meanFreq...Y                fBodyAcc.meanFreq...Z 
##                                    0                                    0 
##                fBodyAcc.skewness...X                fBodyAcc.kurtosis...X 
##                                    0                                    0 
##                fBodyAcc.skewness...Y                fBodyAcc.kurtosis...Y 
##                                    0                                    0 
##                fBodyAcc.skewness...Z                fBodyAcc.kurtosis...Z 
##                                    0                                    0 
##           fBodyAcc.bandsEnergy...1.8          fBodyAcc.bandsEnergy...9.16 
##                                    0                                    0 
##         fBodyAcc.bandsEnergy...17.24         fBodyAcc.bandsEnergy...25.32 
##                                    0                                    0 
##         fBodyAcc.bandsEnergy...33.40         fBodyAcc.bandsEnergy...41.48 
##                                    0                                    0 
##         fBodyAcc.bandsEnergy...49.56         fBodyAcc.bandsEnergy...57.64 
##                                    0                                    0 
##          fBodyAcc.bandsEnergy...1.16         fBodyAcc.bandsEnergy...17.32 
##                                    0                                    0 
##         fBodyAcc.bandsEnergy...33.48         fBodyAcc.bandsEnergy...49.64 
##                                    0                                    0 
##          fBodyAcc.bandsEnergy...1.24         fBodyAcc.bandsEnergy...25.48 
##                                    0                                    0 
##         fBodyAcc.bandsEnergy...1.8.1        fBodyAcc.bandsEnergy...9.16.1 
##                                    0                                    0 
##       fBodyAcc.bandsEnergy...17.24.1       fBodyAcc.bandsEnergy...25.32.1 
##                                    0                                    0 
##       fBodyAcc.bandsEnergy...33.40.1       fBodyAcc.bandsEnergy...41.48.1 
##                                    0                                    0 
##       fBodyAcc.bandsEnergy...49.56.1       fBodyAcc.bandsEnergy...57.64.1 
##                                    0                                    0 
##        fBodyAcc.bandsEnergy...1.16.1       fBodyAcc.bandsEnergy...17.32.1 
##                                    0                                    0 
##       fBodyAcc.bandsEnergy...33.48.1       fBodyAcc.bandsEnergy...49.64.1 
##                                    0                                    0 
##        fBodyAcc.bandsEnergy...1.24.1       fBodyAcc.bandsEnergy...25.48.1 
##                                    0                                    0 
##         fBodyAcc.bandsEnergy...1.8.2        fBodyAcc.bandsEnergy...9.16.2 
##                                    0                                    0 
##       fBodyAcc.bandsEnergy...17.24.2       fBodyAcc.bandsEnergy...25.32.2 
##                                    0                                    0 
##       fBodyAcc.bandsEnergy...33.40.2       fBodyAcc.bandsEnergy...41.48.2 
##                                    0                                    0 
##       fBodyAcc.bandsEnergy...49.56.2       fBodyAcc.bandsEnergy...57.64.2 
##                                    0                                    0 
##        fBodyAcc.bandsEnergy...1.16.2       fBodyAcc.bandsEnergy...17.32.2 
##                                    0                                    0 
##       fBodyAcc.bandsEnergy...33.48.2       fBodyAcc.bandsEnergy...49.64.2 
##                                    0                                    0 
##        fBodyAcc.bandsEnergy...1.24.2       fBodyAcc.bandsEnergy...25.48.2 
##                                    0                                    0 
##                fBodyAccJerk.mean...X                fBodyAccJerk.mean...Y 
##                                    0                                    0 
##                fBodyAccJerk.mean...Z                 fBodyAccJerk.std...X 
##                                    0                                    0 
##                 fBodyAccJerk.std...Y                 fBodyAccJerk.std...Z 
##                                    0                                    0 
##                 fBodyAccJerk.mad...X                 fBodyAccJerk.mad...Y 
##                                    0                                    0 
##                 fBodyAccJerk.mad...Z                 fBodyAccJerk.max...X 
##                                    0                                    0 
##                 fBodyAccJerk.max...Y                 fBodyAccJerk.max...Z 
##                                    0                                    0 
##                 fBodyAccJerk.min...X                 fBodyAccJerk.min...Y 
##                                    0                                    0 
##                 fBodyAccJerk.min...Z                   fBodyAccJerk.sma.. 
##                                    0                                    0 
##              fBodyAccJerk.energy...X              fBodyAccJerk.energy...Y 
##                                    0                                    0 
##              fBodyAccJerk.energy...Z                 fBodyAccJerk.iqr...X 
##                                    0                                    0 
##                 fBodyAccJerk.iqr...Y                 fBodyAccJerk.iqr...Z 
##                                    0                                    0 
##             fBodyAccJerk.entropy...X             fBodyAccJerk.entropy...Y 
##                                    0                                    0 
##             fBodyAccJerk.entropy...Z               fBodyAccJerk.maxInds.X 
##                                    0                                    0 
##               fBodyAccJerk.maxInds.Y               fBodyAccJerk.maxInds.Z 
##                                    0                                    0 
##            fBodyAccJerk.meanFreq...X            fBodyAccJerk.meanFreq...Y 
##                                    0                                    0 
##            fBodyAccJerk.meanFreq...Z            fBodyAccJerk.skewness...X 
##                                    0                                    0 
##            fBodyAccJerk.kurtosis...X            fBodyAccJerk.skewness...Y 
##                                    0                                    0 
##            fBodyAccJerk.kurtosis...Y            fBodyAccJerk.skewness...Z 
##                                    0                                    0 
##            fBodyAccJerk.kurtosis...Z       fBodyAccJerk.bandsEnergy...1.8 
##                                    0                                    0 
##      fBodyAccJerk.bandsEnergy...9.16     fBodyAccJerk.bandsEnergy...17.24 
##                                    0                                    0 
##     fBodyAccJerk.bandsEnergy...25.32     fBodyAccJerk.bandsEnergy...33.40 
##                                    0                                    0 
##     fBodyAccJerk.bandsEnergy...41.48     fBodyAccJerk.bandsEnergy...49.56 
##                                    0                                    0 
##     fBodyAccJerk.bandsEnergy...57.64      fBodyAccJerk.bandsEnergy...1.16 
##                                    0                                    0 
##     fBodyAccJerk.bandsEnergy...17.32     fBodyAccJerk.bandsEnergy...33.48 
##                                    0                                    0 
##     fBodyAccJerk.bandsEnergy...49.64      fBodyAccJerk.bandsEnergy...1.24 
##                                    0                                    0 
##     fBodyAccJerk.bandsEnergy...25.48     fBodyAccJerk.bandsEnergy...1.8.1 
##                                    0                                    0 
##    fBodyAccJerk.bandsEnergy...9.16.1   fBodyAccJerk.bandsEnergy...17.24.1 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...25.32.1   fBodyAccJerk.bandsEnergy...33.40.1 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...41.48.1   fBodyAccJerk.bandsEnergy...49.56.1 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...57.64.1    fBodyAccJerk.bandsEnergy...1.16.1 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...17.32.1   fBodyAccJerk.bandsEnergy...33.48.1 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...49.64.1    fBodyAccJerk.bandsEnergy...1.24.1 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...25.48.1     fBodyAccJerk.bandsEnergy...1.8.2 
##                                    0                                    0 
##    fBodyAccJerk.bandsEnergy...9.16.2   fBodyAccJerk.bandsEnergy...17.24.2 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...25.32.2   fBodyAccJerk.bandsEnergy...33.40.2 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...41.48.2   fBodyAccJerk.bandsEnergy...49.56.2 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...57.64.2    fBodyAccJerk.bandsEnergy...1.16.2 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...17.32.2   fBodyAccJerk.bandsEnergy...33.48.2 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...49.64.2    fBodyAccJerk.bandsEnergy...1.24.2 
##                                    0                                    0 
##   fBodyAccJerk.bandsEnergy...25.48.2                   fBodyGyro.mean...X 
##                                    0                                    0 
##                   fBodyGyro.mean...Y                   fBodyGyro.mean...Z 
##                                    0                                    0 
##                    fBodyGyro.std...X                    fBodyGyro.std...Y 
##                                    0                                    0 
##                    fBodyGyro.std...Z                    fBodyGyro.mad...X 
##                                    0                                    0 
##                    fBodyGyro.mad...Y                    fBodyGyro.mad...Z 
##                                    0                                    0 
##                    fBodyGyro.max...X                    fBodyGyro.max...Y 
##                                    0                                    0 
##                    fBodyGyro.max...Z                    fBodyGyro.min...X 
##                                    0                                    0 
##                    fBodyGyro.min...Y                    fBodyGyro.min...Z 
##                                    0                                    0 
##                      fBodyGyro.sma..                 fBodyGyro.energy...X 
##                                    0                                    0 
##                 fBodyGyro.energy...Y                 fBodyGyro.energy...Z 
##                                    0                                    0 
##                    fBodyGyro.iqr...X                    fBodyGyro.iqr...Y 
##                                    0                                    0 
##                    fBodyGyro.iqr...Z                fBodyGyro.entropy...X 
##                                    0                                    0 
##                fBodyGyro.entropy...Y                fBodyGyro.entropy...Z 
##                                    0                                    0 
##                  fBodyGyro.maxInds.X                  fBodyGyro.maxInds.Y 
##                                    0                                    0 
##                  fBodyGyro.maxInds.Z               fBodyGyro.meanFreq...X 
##                                    0                                    0 
##               fBodyGyro.meanFreq...Y               fBodyGyro.meanFreq...Z 
##                                    0                                    0 
##               fBodyGyro.skewness...X               fBodyGyro.kurtosis...X 
##                                    0                                    0 
##               fBodyGyro.skewness...Y               fBodyGyro.kurtosis...Y 
##                                    0                                    0 
##               fBodyGyro.skewness...Z               fBodyGyro.kurtosis...Z 
##                                    0                                    0 
##          fBodyGyro.bandsEnergy...1.8         fBodyGyro.bandsEnergy...9.16 
##                                    0                                    0 
##        fBodyGyro.bandsEnergy...17.24        fBodyGyro.bandsEnergy...25.32 
##                                    0                                    0 
##        fBodyGyro.bandsEnergy...33.40        fBodyGyro.bandsEnergy...41.48 
##                                    0                                    0 
##        fBodyGyro.bandsEnergy...49.56        fBodyGyro.bandsEnergy...57.64 
##                                    0                                    0 
##         fBodyGyro.bandsEnergy...1.16        fBodyGyro.bandsEnergy...17.32 
##                                    0                                    0 
##        fBodyGyro.bandsEnergy...33.48        fBodyGyro.bandsEnergy...49.64 
##                                    0                                    0 
##         fBodyGyro.bandsEnergy...1.24        fBodyGyro.bandsEnergy...25.48 
##                                    0                                    0 
##        fBodyGyro.bandsEnergy...1.8.1       fBodyGyro.bandsEnergy...9.16.1 
##                                    0                                    0 
##      fBodyGyro.bandsEnergy...17.24.1      fBodyGyro.bandsEnergy...25.32.1 
##                                    0                                    0 
##      fBodyGyro.bandsEnergy...33.40.1      fBodyGyro.bandsEnergy...41.48.1 
##                                    0                                    0 
##      fBodyGyro.bandsEnergy...49.56.1      fBodyGyro.bandsEnergy...57.64.1 
##                                    0                                    0 
##       fBodyGyro.bandsEnergy...1.16.1      fBodyGyro.bandsEnergy...17.32.1 
##                                    0                                    0 
##      fBodyGyro.bandsEnergy...33.48.1      fBodyGyro.bandsEnergy...49.64.1 
##                                    0                                    0 
##       fBodyGyro.bandsEnergy...1.24.1      fBodyGyro.bandsEnergy...25.48.1 
##                                    0                                    0 
##        fBodyGyro.bandsEnergy...1.8.2       fBodyGyro.bandsEnergy...9.16.2 
##                                    0                                    0 
##      fBodyGyro.bandsEnergy...17.24.2      fBodyGyro.bandsEnergy...25.32.2 
##                                    0                                    0 
##      fBodyGyro.bandsEnergy...33.40.2      fBodyGyro.bandsEnergy...41.48.2 
##                                    0                                    0 
##      fBodyGyro.bandsEnergy...49.56.2      fBodyGyro.bandsEnergy...57.64.2 
##                                    0                                    0 
##       fBodyGyro.bandsEnergy...1.16.2      fBodyGyro.bandsEnergy...17.32.2 
##                                    0                                    0 
##      fBodyGyro.bandsEnergy...33.48.2      fBodyGyro.bandsEnergy...49.64.2 
##                                    0                                    0 
##       fBodyGyro.bandsEnergy...1.24.2      fBodyGyro.bandsEnergy...25.48.2 
##                                    0                                    0 
##                   fBodyAccMag.mean..                    fBodyAccMag.std.. 
##                                    0                                    0 
##                    fBodyAccMag.mad..                    fBodyAccMag.max.. 
##                                    0                                    0 
##                    fBodyAccMag.min..                    fBodyAccMag.sma.. 
##                                    0                                    0 
##                 fBodyAccMag.energy..                    fBodyAccMag.iqr.. 
##                                    0                                    0 
##                fBodyAccMag.entropy..                  fBodyAccMag.maxInds 
##                                    0                                    0 
##               fBodyAccMag.meanFreq..               fBodyAccMag.skewness.. 
##                                    0                                    0 
##               fBodyAccMag.kurtosis..           fBodyBodyAccJerkMag.mean.. 
##                                    0                                    0 
##            fBodyBodyAccJerkMag.std..            fBodyBodyAccJerkMag.mad.. 
##                                    0                                    0 
##            fBodyBodyAccJerkMag.max..            fBodyBodyAccJerkMag.min.. 
##                                    0                                    0 
##            fBodyBodyAccJerkMag.sma..         fBodyBodyAccJerkMag.energy.. 
##                                    0                                    0 
##            fBodyBodyAccJerkMag.iqr..        fBodyBodyAccJerkMag.entropy.. 
##                                    0                                    0 
##          fBodyBodyAccJerkMag.maxInds       fBodyBodyAccJerkMag.meanFreq.. 
##                                    0                                    0 
##       fBodyBodyAccJerkMag.skewness..       fBodyBodyAccJerkMag.kurtosis.. 
##                                    0                                    0 
##              fBodyBodyGyroMag.mean..               fBodyBodyGyroMag.std.. 
##                                    0                                    0 
##               fBodyBodyGyroMag.mad..               fBodyBodyGyroMag.max.. 
##                                    0                                    0 
##               fBodyBodyGyroMag.min..               fBodyBodyGyroMag.sma.. 
##                                    0                                    0 
##            fBodyBodyGyroMag.energy..               fBodyBodyGyroMag.iqr.. 
##                                    0                                    0 
##           fBodyBodyGyroMag.entropy..             fBodyBodyGyroMag.maxInds 
##                                    0                                    0 
##          fBodyBodyGyroMag.meanFreq..          fBodyBodyGyroMag.skewness.. 
##                                    0                                    0 
##          fBodyBodyGyroMag.kurtosis..          fBodyBodyGyroJerkMag.mean.. 
##                                    0                                    0 
##           fBodyBodyGyroJerkMag.std..           fBodyBodyGyroJerkMag.mad.. 
##                                    0                                    0 
##           fBodyBodyGyroJerkMag.max..           fBodyBodyGyroJerkMag.min.. 
##                                    0                                    0 
##           fBodyBodyGyroJerkMag.sma..        fBodyBodyGyroJerkMag.energy.. 
##                                    0                                    0 
##           fBodyBodyGyroJerkMag.iqr..       fBodyBodyGyroJerkMag.entropy.. 
##                                    0                                    0 
##         fBodyBodyGyroJerkMag.maxInds      fBodyBodyGyroJerkMag.meanFreq.. 
##                                    0                                    0 
##      fBodyBodyGyroJerkMag.skewness..      fBodyBodyGyroJerkMag.kurtosis.. 
##                                    0                                    0 
##          angle.tBodyAccMean.gravity. angle.tBodyAccJerkMean..gravityMean. 
##                                    0                                    0 
##     angle.tBodyGyroMean.gravityMean. angle.tBodyGyroJerkMean.gravityMean. 
##                                    0                                    0 
##                 angle.X.gravityMean.                 angle.Y.gravityMean. 
##                                    0                                    0 
##                 angle.Z.gravityMean.                              subject 
##                                    0                                    0 
##                             Activity 
##                                    0

There are no variable that has missing values. The dataset is free form missing values and there are no values that indicates null values on every variable. Now, we will remove unnecessary variable for model training.

data.clean.x <- data %>% select(-c(subject, Activity))
data.clean.y <- data %>% select(Activity)

Modelization

In the result of prediction we will focus on the recall matrix which tell us what proportion actual positives was identified correctly. because in this model we prefer the patient false positively predicted has diabetes than predicted false negatively. therefore, it can has a better prevention with the actual disease.

Cross validation

We will split the data into train and test dataset by 80:20 proportion.

RNGkind(sample.kind = "Rounding") 
set.seed(123)
split_index <- sample(nrow(data), nrow(data)*0.80)

data.clean <- cbind(data.clean.x, data.clean.y)
train <- data.clean[split_index, ] 
test <- data.clean[-split_index, ]

Naive Bayes

Model Building

model_bayes <- naiveBayes(Activity ~ ., data = train)

Making prediction (Naive Bayes)

diabetes_nb_pred <- predict(model_bayes, newdata = test)

Evaluation (Naive Bayes)

confusionMatrix(data = diabetes_nb_pred, reference = test$Activity) 
## Confusion Matrix and Statistics
## 
##                     Reference
## Prediction           LAYING SITTING STANDING WALKING WALKING_DOWNSTAIRS
##   LAYING                296       6        0       0                  0
##   SITTING                71     310      240       0                  0
##   STANDING                0      33      116       0                  0
##   WALKING                 0       0        0     272                 25
##   WALKING_DOWNSTAIRS      0       0        0      51                204
##   WALKING_UPSTAIRS        4       3        5      52                 42
##                     Reference
## Prediction           WALKING_UPSTAIRS
##   LAYING                            0
##   SITTING                           0
##   STANDING                          0
##   WALKING                           8
##   WALKING_DOWNSTAIRS               17
##   WALKING_UPSTAIRS                305
## 
## Overall Statistics
##                                           
##                Accuracy : 0.7296          
##                  95% CI : (0.7099, 0.7487)
##     No Information Rate : 0.182           
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.6755          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: LAYING Class: SITTING Class: STANDING
## Sensitivity                 0.7978         0.8807         0.32133
## Specificity                 0.9964         0.8179         0.98058
## Pos Pred Value              0.9801         0.4992         0.77852
## Neg Pred Value              0.9573         0.9708         0.87179
## Prevalence                  0.1801         0.1709         0.17524
## Detection Rate              0.1437         0.1505         0.05631
## Detection Prevalence        0.1466         0.3015         0.07233
## Balanced Accuracy           0.8971         0.8493         0.65095
##                      Class: WALKING Class: WALKING_DOWNSTAIRS
## Sensitivity                  0.7253                   0.75277
## Specificity                  0.9804                   0.96199
## Pos Pred Value               0.8918                   0.75000
## Neg Pred Value               0.9413                   0.96253
## Prevalence                   0.1820                   0.13155
## Detection Rate               0.1320                   0.09903
## Detection Prevalence         0.1481                   0.13204
## Balanced Accuracy            0.8529                   0.85738
##                      Class: WALKING_UPSTAIRS
## Sensitivity                           0.9242
## Specificity                           0.9387
## Pos Pred Value                        0.7421
## Neg Pred Value                        0.9848
## Prevalence                            0.1602
## Detection Rate                        0.1481
## Detection Prevalence                  0.1995
## Balanced Accuracy                     0.9315

Result of Naive Bayes Model: from the result of confusion matrix above as we can see the accuracy of the model is ~72%

K-NN

Because all the predictors are numerical we can proceed to building the model.

Model Building

splittiong between predictor and target variable

train.x <- train %>% select_if(is.numeric)
test.x <- test %>% select_if(is.numeric)

train.y <- train %>% select(Activity)
test.y <- test %>% select(Activity)

scalling the predictors data

train.x.scale <- train.x %>% scale()
test.x.scale <- test.x %>% 
                      scale(center = attr(train.x.scale, "scaled:center"),
                            scale = attr(train.x.scale, "scaled:scale"))

Model Prediction

find optimum K

k <- sqrt(nrow(train)) %>% round(digits = 0)

Because the target is even (6 class) we should use odd amount of K. which is k=91

library(class)
cl = train.y[,"Activity"]
knn_pred <- knn(train = train.x.scale, # data train, predictors, scaled
                 test = test.x.scale, # data test, predictors, scaled
                 cl =  cl, # data train, label (target) aktual
                 k = k)

Model Evaluation

confusionMatrix(data = knn_pred, # confusion matrix needs the data in factor
                reference = test.y[,"Activity"])
## Confusion Matrix and Statistics
## 
##                     Reference
## Prediction           LAYING SITTING STANDING WALKING WALKING_DOWNSTAIRS
##   LAYING                352       3        0       0                  0
##   SITTING                 1     288       14       0                  0
##   STANDING               17      61      347       0                  0
##   WALKING                 0       0        0     369                 21
##   WALKING_DOWNSTAIRS      0       0        0       6                231
##   WALKING_UPSTAIRS        1       0        0       0                 19
##                     Reference
## Prediction           WALKING_UPSTAIRS
##   LAYING                            0
##   SITTING                           0
##   STANDING                          0
##   WALKING                          11
##   WALKING_DOWNSTAIRS                2
##   WALKING_UPSTAIRS                317
## 
## Overall Statistics
##                                          
##                Accuracy : 0.9243         
##                  95% CI : (0.912, 0.9353)
##     No Information Rate : 0.182          
##     P-Value [Acc > NIR] : < 2.2e-16      
##                                          
##                   Kappa : 0.9088         
##                                          
##  Mcnemar's Test P-Value : NA             
## 
## Statistics by Class:
## 
##                      Class: LAYING Class: SITTING Class: STANDING
## Sensitivity                 0.9488         0.8182          0.9612
## Specificity                 0.9982         0.9912          0.9541
## Pos Pred Value              0.9915         0.9505          0.8165
## Neg Pred Value              0.9889         0.9636          0.9914
## Prevalence                  0.1801         0.1709          0.1752
## Detection Rate              0.1709         0.1398          0.1684
## Detection Prevalence        0.1723         0.1471          0.2063
## Balanced Accuracy           0.9735         0.9047          0.9577
##                      Class: WALKING Class: WALKING_DOWNSTAIRS
## Sensitivity                  0.9840                    0.8524
## Specificity                  0.9810                    0.9955
## Pos Pred Value               0.9202                    0.9665
## Neg Pred Value               0.9964                    0.9780
## Prevalence                   0.1820                    0.1316
## Detection Rate               0.1791                    0.1121
## Detection Prevalence         0.1947                    0.1160
## Balanced Accuracy            0.9825                    0.9240
##                      Class: WALKING_UPSTAIRS
## Sensitivity                           0.9606
## Specificity                           0.9884
## Pos Pred Value                        0.9407
## Neg Pred Value                        0.9925
## Prevalence                            0.1602
## Detection Rate                        0.1539
## Detection Prevalence                  0.1636
## Balanced Accuracy                     0.9745

Result of KNN Model: from the result of confusion matrix above as we can see the accuracy of the model is very good with accuracy more than 92%.

Support Vector Machine

Model Building

model_svm <-  svm(Activity ~ ., data = train)

Model Prediction

pred_svm <- predict(model_svm, test.x)

Model Evaluation

confusionMatrix(pred_svm, test$Activity)
## Confusion Matrix and Statistics
## 
##                     Reference
## Prediction           LAYING SITTING STANDING WALKING WALKING_DOWNSTAIRS
##   LAYING                370       0        0       0                  0
##   SITTING                 0     331       17       0                  0
##   STANDING                0      21      344       0                  0
##   WALKING                 0       0        0     374                  0
##   WALKING_DOWNSTAIRS      1       0        0       1                270
##   WALKING_UPSTAIRS        0       0        0       0                  1
##                     Reference
## Prediction           WALKING_UPSTAIRS
##   LAYING                            0
##   SITTING                           0
##   STANDING                          0
##   WALKING                           0
##   WALKING_DOWNSTAIRS                0
##   WALKING_UPSTAIRS                330
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9801          
##                  95% CI : (0.9731, 0.9857)
##     No Information Rate : 0.182           
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.9761          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: LAYING Class: SITTING Class: STANDING
## Sensitivity                 0.9973         0.9403          0.9529
## Specificity                 1.0000         0.9900          0.9876
## Pos Pred Value              1.0000         0.9511          0.9425
## Neg Pred Value              0.9994         0.9877          0.9900
## Prevalence                  0.1801         0.1709          0.1752
## Detection Rate              0.1796         0.1607          0.1670
## Detection Prevalence        0.1796         0.1689          0.1772
## Balanced Accuracy           0.9987         0.9652          0.9703
##                      Class: WALKING Class: WALKING_DOWNSTAIRS
## Sensitivity                  0.9973                    0.9963
## Specificity                  1.0000                    0.9989
## Pos Pred Value               1.0000                    0.9926
## Neg Pred Value               0.9994                    0.9994
## Prevalence                   0.1820                    0.1316
## Detection Rate               0.1816                    0.1311
## Detection Prevalence         0.1816                    0.1320
## Balanced Accuracy            0.9987                    0.9976
##                      Class: WALKING_UPSTAIRS
## Sensitivity                           1.0000
## Specificity                           0.9994
## Pos Pred Value                        0.9970
## Neg Pred Value                        1.0000
## Prevalence                            0.1602
## Detection Rate                        0.1602
## Detection Prevalence                  0.1607
## Balanced Accuracy                     0.9997

Result of Naive Bayes Model: from the result of confusion matrix above as we can see the accuracy of the model is quite high with accuracy 98%.

Conclusion

Based on several model that we test, we want to use the model with accuracy more than 90%. thus, the model that has the best accuracy is Support Vector Machine (SVM) model with 98% accuracy.

From our data we can see that with only two sensor from our smartphone (gyroscope and accelerometer) we can predict 6 type of human activity (standing, sitting, laying, walking, walking downstairs, and walking upstairs) with accuracy more than 90%.

For further research we should add more activity such as running, biking, and working out also add other sensor to imporve the accuracy even further.