-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript9.R
More file actions
81 lines (74 loc) · 4.45 KB
/
Copy pathscript9.R
File metadata and controls
81 lines (74 loc) · 4.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#
# script9.R
#
# Performs step 9 in the Code Book.
#
# This script generates a new data frame called "averages", organized
# per activity and per subject, and we write it out in CSV format to
# a file called "averages.csv" in the current working directory.
#
# STEP A
ro_names <- names(reduced_observations)
ro_names <- chartr("-", ".", ro_names)
ro_names <- gsub("[()]", "", ro_names)
ro_names <- gsub(',', '.', ro_names)
names(reduced_observations) <- ro_names
# STEP B
grouped <- group_by(reduced_observations, activity_name, subject_id)
averages <- summarize(grouped,
mean.tBodyAcc.X=mean(tBodyAcc.mean.X),
mean.tBodyAcc.Y=mean(tBodyAcc.mean.Y),
mean.tBodyAcc.Z=mean(tBodyAcc.mean.Z),
mean.tGravityAcc.X=mean(tGravityAcc.mean.X),
mean.tGravityAcc.Y=mean(tGravityAcc.mean.Y),
mean.tGravityAcc.Z=mean(tGravityAcc.mean.Z),
mean.tBodyAccJerk.X=mean(tBodyAccJerk.mean.X),
mean.tBodyAccJerk.Y=mean(tBodyAccJerk.mean.Y),
mean.tBodyAccJerk.Z=mean(tBodyAccJerk.mean.Z),
mean.tBodyGyro.X=mean(tBodyGyro.mean.X),
mean.tBodyGyro.Y=mean(tBodyGyro.mean.Y),
mean.tBodyGyro.Z=mean(tBodyGyro.mean.Z),
mean.tBodyGyroJerk.X=mean(tBodyGyroJerk.mean.X),
mean.tBodyGyroJerk.Y=mean(tBodyGyroJerk.mean.Y),
mean.tBodyGyroJerk.Z=mean(tBodyGyroJerk.mean.Z),
mean.tBodyAccMag=mean(tBodyAccMag.mean),
mean.tGravityAccMag=mean(tGravityAccMag.mean),
mean.tBodyAccJerkMag=mean(tBodyAccJerkMag.mean),
mean.tBodyGyroMag=mean(tBodyGyroMag.mean),
mean.tBodyGyroJerkMag=mean(tBodyGyroJerkMag.mean),
mean.fBodyAcc.X=mean(fBodyAcc.mean.X),
mean.fBodyAcc.Y=mean(fBodyAcc.mean.Y),
mean.fBodyAcc.Z=mean(fBodyAcc.mean.Z),
mean.fBodyAcc.Freq.X=mean(fBodyAcc.meanFreq.X),
mean.fBodyAcc.Freq.Y=mean(fBodyAcc.meanFreq.Y),
mean.fBodyAcc.Freq.Z=mean(fBodyAcc.meanFreq.Z),
mean.fBodyAccJerk.X=mean(fBodyAccJerk.mean.X),
mean.fBodyAccJerk.Y=mean(fBodyAccJerk.mean.Y),
mean.fBodyAccJerk.Z=mean(fBodyAccJerk.mean.Z),
mean.fBodyAccJerk.Freq.X=mean(fBodyAccJerk.meanFreq.X),
mean.fBodyAccJerk.Freq.Y=mean(fBodyAccJerk.meanFreq.Y),
mean.fBodyAccJerk.Freq.Z=mean(fBodyAccJerk.meanFreq.Z),
mean.fBodyGyro.X=mean(fBodyGyro.mean.X),
mean.fBodyGyro.Y=mean(fBodyGyro.mean.Y),
mean.fBodyGyro.Z=mean(fBodyGyro.mean.Z),
mean.fBodyGyro.Freq.X=mean(fBodyGyro.meanFreq.X),
mean.fBodyGyro.Freq.Y=mean(fBodyGyro.meanFreq.Y),
mean.fBodyGyro.Freq.Z=mean(fBodyGyro.meanFreq.Z),
mean.fBodyAccMag=mean(fBodyAccMag.mean),
mean.fBodyAccMag.Freq=mean(fBodyAccMag.meanFreq),
mean.fBodyBodyAccJerkMag=mean(fBodyBodyAccJerkMag.mean),
mean.fBodyBodyAccJerkMag.Freq=mean(fBodyBodyAccJerkMag.meanFreq),
mean.fBodyBodyGyroMag=mean(fBodyBodyGyroMag.mean),
mean.fBodyBodyGyroMag.Freq=mean(fBodyBodyGyroMag.meanFreq),
mean.fBodyBodyGyroJerkMag=mean(fBodyBodyGyroJerkMag.mean),
mean.fBodyBodyGyroJerkMag.Freq=mean(fBodyBodyGyroJerkMag.meanFreq),
mean.angletBodyAcc.gravity=mean(angletBodyAccMean.gravity),
mean.angletBodyAccJerk.gravity=mean(angletBodyAccJerkMean.gravityMean),
mean.angletBodyGyro.gravity=mean(angletBodyGyroMean.gravityMean),
mean.angletBodyGyroJerk.gravity=mean(angletBodyGyroJerkMean.gravityMean),
mean.angleX.gravity=mean(angleX.gravityMean),
mean.angleY.gravity=mean(angleY.gravityMean),
mean.angleZ.gravity=mean(angleZ.gravityMean))
# STEP C
write.csv(averages, file="averages.csv", row.names=FALSE)
write.table(averages, file="averages.txt", row.names=FALSE)