Skip to content

Latest commit

 

History

History
168 lines (130 loc) · 6.53 KB

File metadata and controls

168 lines (130 loc) · 6.53 KB

Code Book

This code book summarizes the resulting data fields in mean_data.txt.

About the script

run_analysis.R performs the tasks needed by our lectures:

• 0. Loads library and information in data.frames from train/test/activity/features .txt files

• 1. Merges train and test data via rbind.

• 2. Extracts only the measurements on the mean and standard deviation for each measurement by creating a subsetting logical vector with features positions in features.txt

• 3. Labels activity in the activity type (y’datas) data

• 4. Merges processed subject, activity and X-data in one dataframe. Renames the columns in this dataframe.

• 5. Generates a new dataset with average measures for each subject and activity type. Melt and dcast from “reshape2” library is used.

Output is saved as mean_data.txt.

Raw files informations and units

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, WALKING_UPSTAIRS, WALKING_DOWNSTAIRS, 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. See 'features_info.txt' for more details.

For each record it is provided:

  • 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.
  • Its activity label.
  • An identifier of the subject who carried out the experiment.

The dataset includes the following files:

  • 'README.txt'

  • 'features_info.txt': Shows information about the variables used on the feature vector.

  • 'features.txt': List of all features.

  • 'activity_labels.txt': Links the class labels with their activity name.

  • 'train/X_train.txt': Training set.

  • 'train/y_train.txt': Training labels.

  • 'test/X_test.txt': Test set.

  • 'test/y_test.txt': Test labels.

The following files are available for the train and test data. Their descriptions are equivalent.

  • 'train/subject_train.txt': Each row identifies the subject who performed the activity for each window sample. Its range is from 1 to 30.

  • 'train/Inertial Signals/total_acc_x_train.txt': The acceleration signal from the smartphone accelerometer X axis in standard gravity units 'g'. Every row shows a 128 element vector. The same description applies for the 'total_acc_x_train.txt' and 'total_acc_z_train.txt' files for the Y and Z axis.

  • 'train/Inertial Signals/body_acc_x_train.txt': The body acceleration signal obtained by subtracting the gravity from the total acceleration.

  • 'train/Inertial Signals/body_gyro_x_train.txt': The angular velocity vector measured by the gyroscope for each window sample. The units are radians/second.

Notes:

  • Features are normalized and bounded within [-1,1].
  • Each feature vector is a row on the text file.

Identifiers

  • subject_id - The ID of the test subject
  • activity_type - The type of activity performed when the corresponding measurements were taken

Measurements (for units of measurements please look up to "Raw files informations and units" section)

  • tBodyAcc-mean()-X
  • tBodyAcc-mean()-Y
  • tBodyAcc-mean()-Z
  • tGravityAcc-mean()-X
  • tGravityAcc-mean()-Y
  • tGravityAcc-mean()-Z
  • tBodyAccJerk-mean()-X
  • tBodyAccJerk-mean()-Y
  • tBodyAccJerk-mean()-Z
  • tBodyGyro-mean()-X
  • tBodyGyro-mean()-Y
  • tBodyGyro-mean()-Z
  • tBodyGyroJerk-mean()-X
  • tBodyGyroJerk-mean()-Y
  • tBodyGyroJerk-mean()-Z
  • tBodyAccMag-mean()
  • tGravityAccMag-mean()
  • tBodyAccJerkMag-mean()
  • tBodyGyroMag-mean()
  • tBodyGyroJerkMag-mean()
  • fBodyAcc-mean()-X
  • fBodyAcc-mean()-Y
  • fBodyAcc-mean()-Z
  • fBodyAcc-meanFreq()-X
  • fBodyAcc-meanFreq()-Y
  • fBodyAcc-meanFreq()-Z
  • fBodyAccJerk-mean()-X
  • fBodyAccJerk-mean()-Y
  • fBodyAccJerk-mean()-Z
  • fBodyAccJerk-meanFreq()-X
  • fBodyAccJerk-meanFreq()-Y
  • fBodyAccJerk-meanFreq()-Z
  • fBodyGyro-mean()-X
  • fBodyGyro-mean()-Y
  • fBodyGyro-mean()-Z
  • fBodyGyro-meanFreq()-X
  • fBodyGyro-meanFreq()-Y
  • fBodyGyro-meanFreq()-Z
  • fBodyAccMag-mean()
  • fBodyAccMag-meanFreq()
  • fBodyBodyAccJerkMag-mean()
  • fBodyBodyAccJerkMag-meanFreq()
  • fBodyBodyGyroMag-mean()
  • fBodyBodyGyroMag-meanFreq()
  • fBodyBodyGyroJerkMag-mean()
  • fBodyBodyGyroJerkMag-meanFreq()
  • tBodyAcc-std()-X
  • tBodyAcc-std()-Y
  • tBodyAcc-std()-Z
  • tGravityAcc-std()-X
  • tGravityAcc-std()-Y
  • tGravityAcc-std()-Z
  • tBodyAccJerk-std()-X
  • tBodyAccJerk-std()-Y
  • tBodyAccJerk-std()-Z
  • tBodyGyro-std()-X
  • tBodyGyro-std()-Y
  • tBodyGyro-std()-Z
  • tBodyGyroJerk-std()-X
  • tBodyGyroJerk-std()-Y
  • tBodyGyroJerk-std()-Z
  • tBodyAccMag-std()
  • tGravityAccMag-std()
  • tBodyAccJerkMag-std()
  • tBodyGyroMag-std()
  • tBodyGyroJerkMag-std()
  • fBodyAcc-std()-X
  • fBodyAcc-std()-Y
  • fBodyAcc-std()-Z
  • fBodyAccJerk-std()-X
  • fBodyAccJerk-std()-Y
  • fBodyAccJerk-std()-Z
  • fBodyGyro-std()-X
  • fBodyGyro-std()-Y
  • fBodyGyro-std()-Z
  • fBodyAccMag-std()
  • fBodyBodyAccJerkMag-std()
  • fBodyBodyGyroMag-std()
  • fBodyBodyGyroJerkMag-std()

Activity Labels

  • WALKING (value 1): subject was walking during the test
  • WALKING_UPSTAIRS (value 2): subject was walking up a staircase during the test
  • WALKING_DOWNSTAIRS (value 3): subject was walking down a staircase during the test
  • SITTING (value 4): subject was sitting during the test
  • STANDING (value 5): subject was standing during the test
  • LAYING (value 6): subject was laying down during the test