R/calculateMean.R

#STEP 5: From the data set in step 4, creates a second, independent tidy data set with the average of 
#   each variable for each activity and each subject.
### few checks 
meanUniques<-unique(req_data_mean[,c("ACTDESC","SUBJID")])
nrow(meanUniques)
#[1] 180
ncol(meanUniques)
#[1] 2
######
library(reshape2)     
meanMelt<-melt(req_data_mean, id.vars = c("ACTDESC","SUBJID"), na.rm = TRUE)
nrow(meanMelt)
#[1] 339867
ncol(meanMelt)
#[1] 4


meanDcast<-dcast(meanMelt,
                 ACTDESC+SUBJID~variable,mean)
nrow(meanDcast)
#[1] 180          // matches with unique values in data frame
ncol(meanDcast)
#[1] 35
## FURTHER CLEANING THE VARIABLE NAMES - RID OF () 
colnames(meanDcast)=gsub("[\\(|\\)]","",names(meanDcast))

str(meanDcast)
#'data.frame':	180 obs. of  35 variables:
#$ ACTDESC                                    : chr  "LAYING" "LAYING" "LAYING" "LAYING" ...
#$ SUBJID                                     : int  1 2 3 4 5 6 7 8 9 10 ...
#$ timeBodyAccelerometerMeanXaxis             : num  0.222 0.281 0.276 0.264 0.278 ...
#$ timeBodyAccelerometerMeanYaxis             : num  -0.0405 -0.0182 -0.019 -0.015 -0.0183 ...
#$ timeBodyAccelerometerMeanZaxis             : num  -0.113 -0.107 -0.101 -0.111 -0.108 ...
#$ timeGravityAccelerometerMeanXaxis          : num  -0.249 -0.51 -0.242 -0.421 -0.483 ...
#$ timeGravityAccelerometerMeanYaxis          : num  0.706 0.753 0.837 0.915 0.955 ...
#$ timeGravityAccelerometerMeanZaxis          : num  0.446 0.647 0.489 0.342 0.264 ...
#$ timeBodyAccelerometerJerkMeanXaxis         : num  0.0811 0.0826 0.077 0.0934 0.0848 ...
#$ timeBodyAccelerometerJerkMeanYaxis         : num  0.00384 0.01225 0.0138 0.00693 0.00747 ...
#$ timeBodyAccelerometerJerkMeanZaxis         : num  0.01083 -0.0018 -0.00436 -0.00641 -0.00304 ...
#$ timeBodyGyroscopeMeanXaxis                 : num  -0.01655 -0.01848 -0.02082 -0.00923 -0.02189 ...
#$ timeBodyGyroscopeMeanYaxis                 : num  -0.0645 -0.1118 -0.0719 -0.093 -0.0799 ...
#$ timeBodyGyroscopeMeanZaxis                 : num  0.149 0.145 0.138 0.17 0.16 ...
#$ timeBodyGyroscopeJerkMeanXaxis             : num  -0.107 -0.102 -0.1 -0.105 -0.102 ...
#$ timeBodyGyroscopeJerkMeanYaxis             : num  -0.0415 -0.0359 -0.039 -0.0381 -0.0404 ...
#$ timeBodyGyroscopeJerkMeanZaxis             : num  -0.0741 -0.0702 -0.0687 -0.0712 -0.0708 ...
#$ timeBodyAccelerometerMagnitudeMean         : num  -0.842 -0.977 -0.973 -0.955 -0.967 ...
#$ timeGravityAccelerometerMagnitudeMean      : num  -0.842 -0.977 -0.973 -0.955 -0.967 ...
#$ timeBodyAccelerometerJerkMagnitudeMean     : num  -0.954 -0.988 -0.979 -0.97 -0.98 ...
#$ timeBodyGyroscopeMagnitudeMean             : num  -0.875 -0.95 -0.952 -0.93 -0.947 ...
#$ timeBodyGyroscopeJerkMagnitudeMean         : num  -0.963 -0.992 -0.987 -0.985 -0.986 ...
#$ frequencyBodyAccelerometerMeanXaxis        : num  -0.939 -0.977 -0.981 -0.959 -0.969 ...
#$ frequencyBodyAccelerometerMeanYaxis        : num  -0.867 -0.98 -0.961 -0.939 -0.965 ...
#$ frequencyBodyAccelerometerMeanZaxis        : num  -0.883 -0.984 -0.968 -0.968 -0.977 ...
#$ frequencyBodyAccelerometerJerkMeanXaxis    : num  -0.957 -0.986 -0.981 -0.979 -0.983 ...
#$ frequencyBodyAccelerometerJerkMeanYaxis    : num  -0.922 -0.983 -0.969 -0.944 -0.965 ...
#$ frequencyBodyAccelerometerJerkMeanZaxis    : num  -0.948 -0.986 -0.979 -0.975 -0.983 ...
#$ frequencyBodyGyroscopeMeanXaxis            : num  -0.85 -0.986 -0.97 -0.967 -0.976 ...
#$ frequencyBodyGyroscopeMeanYaxis            : num  -0.952 -0.983 -0.978 -0.972 -0.978 ...
#$ frequencyBodyGyroscopeMeanZaxis            : num  -0.909 -0.963 -0.962 -0.961 -0.963 ...
#$ frequencyBodyAccelerometerMagnitudeMean    : num  -0.862 -0.975 -0.966 -0.939 -0.962 ...
#$ frequencyBodyAccelerometerJerkMagnitudeMean: num  -0.933 -0.985 -0.976 -0.962 -0.977 ...
#$ frequencyBodyGyroscopeMagnitudeMean        : num  -0.862 -0.972 -0.965 -0.962 -0.968 ...
#$ frequencyBodyGyroscopeJerkMagnitudeMean    : num  -0.942 -0.99 -0.984 -0.984 -0.985 ...
########################################################################################################################################           
stdUniques<-unique(req_data_std[,c("ACTDESC","SUBJID")])
nrow(stdUniques)
#[1] 180
ncol(stdUniques)
#[1] 2
stdMelt<-melt(req_data_std, id.vars = c("ACTDESC","SUBJID") )
nrow(stdMelt)
#[1] 339867
ncol(stdMelt)
#[1] 4

stdDcast<-dcast(stdMelt,
                ACTDESC+SUBJID~variable,mean)
nrow(stdDcast)
#[1] 180          // matches with unique values in data frame
ncol(stdDcast)
#[1] 35
## FURTHER CLEANING THE VARIABLE NAMES - RID OF () 
colnames(stdDcast)=gsub("[\\(|\\)]","",names(stdDcast))

str(stdDcast)
#'data.frame':	180 obs. of  35 variables:
#$ ACTDESC                                   : chr  "LAYING" "LAYING" "LAYING" "LAYING" ...
#$ SUBJID                                    : int  1 2 3 4 5 6 7 8 9 10 ...
#$ timeBodyAccelerometerStdXaxis             : num  -0.928 -0.974 -0.983 -0.954 -0.966 ...
#$ timeBodyAccelerometerStdYaxis             : num  -0.837 -0.98 -0.962 -0.942 -0.969 ...
#$ timeBodyAccelerometerStdZaxis             : num  -0.826 -0.984 -0.964 -0.963 -0.969 ...
#$ timeGravityAccelerometerStdXaxis          : num  -0.897 -0.959 -0.983 -0.921 -0.946 ...
#$ timeGravityAccelerometerStdYaxis          : num  -0.908 -0.988 -0.981 -0.97 -0.986 ...
#$ timeGravityAccelerometerStdZaxis          : num  -0.852 -0.984 -0.965 -0.976 -0.977 ...
#$ timeBodyAccelerometerJerkStdXaxis         : num  -0.958 -0.986 -0.981 -0.978 -0.983 ...
#$ timeBodyAccelerometerJerkStdYaxis         : num  -0.924 -0.983 -0.969 -0.942 -0.965 ...
#$ timeBodyAccelerometerJerkStdZaxis         : num  -0.955 -0.988 -0.982 -0.979 -0.985 ...
#$ timeBodyGyroscopeStdXaxis                 : num  -0.874 -0.988 -0.975 -0.973 -0.979 ...
#$ timeBodyGyroscopeStdYaxis                 : num  -0.951 -0.982 -0.977 -0.961 -0.977 ...
#$ timeBodyGyroscopeStdZaxis                 : num  -0.908 -0.96 -0.964 -0.962 -0.961 ...
#$ timeBodyGyroscopeJerkStdXaxis             : num  -0.919 -0.993 -0.98 -0.975 -0.983 ...
#$ timeBodyGyroscopeJerkStdYaxis             : num  -0.968 -0.99 -0.987 -0.987 -0.984 ...
#$ timeBodyGyroscopeJerkStdZaxis             : num  -0.958 -0.988 -0.983 -0.984 -0.99 ...
#$ timeBodyAccelerometerMagnitudeStd         : num  -0.795 -0.973 -0.964 -0.931 -0.959 ...
#$ timeGravityAccelerometerMagnitudeStd      : num  -0.795 -0.973 -0.964 -0.931 -0.959 ...
#$ timeBodyAccelerometerJerkMagnitudeStd     : num  -0.928 -0.986 -0.976 -0.961 -0.977 ...
#$ timeBodyGyroscopeMagnitudeStd             : num  -0.819 -0.961 -0.954 -0.947 -0.958 ...
#$ timeBodyGyroscopeJerkMagnitudeStd         : num  -0.936 -0.99 -0.983 -0.983 -0.984 ...
#$ frequencyBodyAccelerometerStdXaxis        : num  -0.924 -0.973 -0.984 -0.952 -0.965 ...
#$ frequencyBodyAccelerometerStdYaxis        : num  -0.834 -0.981 -0.964 -0.946 -0.973 ...
#$ frequencyBodyAccelerometerStdZaxis        : num  -0.813 -0.985 -0.963 -0.962 -0.966 ...
#$ frequencyBodyAccelerometerJerkStdXaxis    : num  -0.964 -0.987 -0.983 -0.98 -0.986 ...
#$ frequencyBodyAccelerometerJerkStdYaxis    : num  -0.932 -0.985 -0.971 -0.944 -0.966 ...
#$ frequencyBodyAccelerometerJerkStdZaxis    : num  -0.961 -0.989 -0.984 -0.98 -0.986 ...
#$ frequencyBodyGyroscopeStdXaxis            : num  -0.882 -0.989 -0.976 -0.975 -0.981 ...
#$ frequencyBodyGyroscopeStdYaxis            : num  -0.951 -0.982 -0.977 -0.956 -0.977 ...
#$ frequencyBodyGyroscopeStdZaxis            : num  -0.917 -0.963 -0.967 -0.966 -0.963 ...
#$ frequencyBodyAccelerometerMagnitudeStd    : num  -0.798 -0.975 -0.968 -0.937 -0.963 ...
#$ frequencyBodyAccelerometerJerkMagnitudeStd: num  -0.922 -0.985 -0.975 -0.958 -0.976 ...
#$ frequencyBodyGyroscopeMagnitudeStd        : num  -0.824 -0.961 -0.955 -0.947 -0.959 ...
#$ frequencyBodyGyroscopeJerkMagnitudeStd    : num  -0.933 -0.989 -0.983 -0.983 -0.983 ...
datascience122015/runAnalysis documentation built on May 14, 2019, 7:46 p.m.