| title | author | date | output |
|---|---|---|---|
CodeBook.md |
Mark Smith |
30 March 2018 |
html_document |
The source data is originally from http://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones and was downloaded from https://d396qusza40orc.cloudfront.net/getdata%2Fprojectfiles%2FUCI%20HAR%20Dataset.zip
After examining the data and requirements I decided that the raw data under the "Inertial Signals" folders should be excluded as the requirements did not specify its inclusion, although it could be added easily if required. The following are the remaining relevant data files:
| Source File | Details |
|---|---|
| train/subject_train.txt | The Subject number for each observation (training set) |
| train/X_train.txt | The variables for the observations (training set) |
| train/Y_train.txt | The activity identifier (training set) |
| test/subject_test.txt | The Subject number for each observation (test set) |
| test/X_test.txt | The variables for the observations (test set) |
| test/Y_test.txt | The activity identifier (test set) |
| activity_labels.txt | The activity descriptions for the data in the Y_???.txt files |
| features.txt | The feature labels for each Variable in the X_???.txt files |
The overall process taken to process trhe orignal data set is:
- Load all the data and metadata.
- Combine the train(X/Y) and test(X/Y) data objects into all(X/Y) objects (It was done in this order to avoid having to manipulate variable names twice.)
- Merge the all(X/Y), activity and feature objects into completeSet (which is unfiltered).
- Filter the variables to only keep those required.
- Use a set of replacement patterns (order is important to stop double processing) to quickly fix all the Variable names.
- Create summarySet tidy data set with the average of each variable for each activity and each subject.
- Rename all the columns in summarySet with a postfix "Mean" to clearly indicate what they contain.
- Write the resulting summarySet into results.txt (tab separated).
The result satisfies the tidy data rules:
- Each variable forms a column: The subject, the Activty Description and the processed mean values.
- Each observation forms a row: These are taken from the original layout and kept in wide format, although narrow could have been used.
- Each type of observational unit forms a table: This is satisfied, the data here is all related and can't be normalised further.
The following should be read in conjunction with "README.txt" from the original data set referred to above.
- Subject : Subject number [1 to 30], integer
- Activity : Activity identifier [LAYING SITTING STANDING WALKING WALKING_DOWNSTAIRS WALKING_UPSTAIRS], text
- TimeBodyAccelerometerMeanXMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerMeanYMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerMeanZMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerStandardDeviationXMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerStandardDeviationYMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerStandardDeviationZMean : range [-1 to 1], floating point number
- TimeGravityAccelerometerMeanXMean : range [-1 to 1], floating point number
- TimeGravityAccelerometerMeanYMean : range [-1 to 1], floating point number
- TimeGravityAccelerometerMeanZMean : range [-1 to 1], floating point number
- TimeGravityAccelerometerStandardDeviationXMean : range [-1 to 1], floating point number
- TimeGravityAccelerometerStandardDeviationYMean : range [-1 to 1], floating point number
- TimeGravityAccelerometerStandardDeviationZMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerJerkMeanXMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerJerkMeanYMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerJerkMeanZMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerJerkStandardDeviationXMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerJerkStandardDeviationYMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerJerkStandardDeviationZMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeMeanXMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeMeanYMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeMeanZMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeStandardDeviationXMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeStandardDeviationYMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeStandardDeviationZMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeJerkMeanXMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeJerkMeanYMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeJerkMeanZMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeJerkStandardDeviationXMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeJerkStandardDeviationYMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeJerkStandardDeviationZMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerMagnitudeMeanMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerMagnitudeStandardDeviationMean : range [-1 to 1], floating point number
- TimeGravityAccelerometerMagnitudeMeanMean : range [-1 to 1], floating point number
- TimeGravityAccelerometerMagnitudeStandardDeviationMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerJerkMagnitudeMeanMean : range [-1 to 1], floating point number
- TimeBodyAccelerometerJerkMagnitudeStandardDeviationMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeMagnitudeMeanMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeMagnitudeStandardDeviationMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeJerkMagnitudeMeanMean : range [-1 to 1], floating point number
- TimeBodyGyroscopeJerkMagnitudeStandardDeviationMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerMeanXMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerMeanYMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerMeanZMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerStandardDeviationXMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerStandardDeviationYMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerStandardDeviationZMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerMeanFrequencyXMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerMeanFrequencyYMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerMeanFrequencyZMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerJerkMeanXMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerJerkMeanYMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerJerkMeanZMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerJerkStandardDeviationXMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerJerkStandardDeviationYMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerJerkStandardDeviationZMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerJerkMeanFrequencyXMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerJerkMeanFrequencyYMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerJerkMeanFrequencyZMean : range [-1 to 1], floating point number
- FrequencyBodyGyroscopeMeanXMean : range [-1 to 1], floating point number
- FrequencyBodyGyroscopeMeanYMean : range [-1 to 1], floating point number
- FrequencyBodyGyroscopeMeanZMean : range [-1 to 1], floating point number
- FrequencyBodyGyroscopeStandardDeviationXMean : range [-1 to 1], floating point number
- FrequencyBodyGyroscopeStandardDeviationYMean : range [-1 to 1], floating point number
- FrequencyBodyGyroscopeStandardDeviationZMean : range [-1 to 1], floating point number
- FrequencyBodyGyroscopeMeanFrequencyXMean : range [-1 to 1], floating point number
- FrequencyBodyGyroscopeMeanFrequencyYMean : range [-1 to 1], floating point number
- FrequencyBodyGyroscopeMeanFrequencyZMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerMagnitudeMeanMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerMagnitudeStandardDeviationMean : range [-1 to 1], floating point number
- FrequencyBodyAccelerometerMagnitudeMeanFrequencyMean : range [-1 to 1], floating point number
- FrequencyBodyBodyAccelerometerJerkMagnitudeMeanMean : range [-1 to 1], floating point number
- FrequencyBodyBodyAccelerometerJerkMagnitudeStandardDeviationMean : range [-1 to 1], floating point number
- FrequencyBodyBodyAccelerometerJerkMagnitudeMeanFrequencyMean : range [-1 to 1], floating point number
- FrequencyBodyBodyGyroscopeMagnitudeMeanMean : range [-1 to 1], floating point number
- FrequencyBodyBodyGyroscopeMagnitudeStandardDeviationMean : range [-1 to 1], floating point number
- FrequencyBodyBodyGyroscopeMagnitudeMeanFrequencyMean : range [-1 to 1], floating point number
- FrequencyBodyBodyGyroscopeJerkMagnitudeMeanMean : range [-1 to 1], floating point number
- FrequencyBodyBodyGyroscopeJerkMagnitudeStandardDeviationMean : range [-1 to 1], floating point number
- FrequencyBodyBodyGyroscopeJerkMagnitudeMeanFrequencyMean : range [-1 to 1], floating point number
- AngleTimeBodyAccelerometerMeanGravityMean : range [-1 to 1], floating point number
- AngleTimeBodyAccelerometerJerkMeanGravityMeanMean : range [-1 to 1], floating point number
- AngleTimeBodyGyroscopeMeanGravityMeanMean : range [-1 to 1], floating point number
- AngleTimeBodyGyroscopeJerkMeanGravityMeanMean : range [-1 to 1], floating point number
- AngleXGravityMeanMean : range [-1 to 1], floating point number
- AngleYGravityMeanMean : range [-1 to 1], floating point number
- AngleZGravityMeanMean : range [-1 to 1], floating point number