Global options are set to show all R code.
library(knitr)
opts_chunk$set(echo=TRUE)
setwd("/Dropbox/Course Materials/Reproducible Research/Assignments/RepData_PeerAssessment1")
activity_data <- read.csv("./data/activity.csv", colClasses=c("numeric", "Date", "numeric"))
summary(activity_data)
## steps date interval
## Min. : 0.0 Min. :2012-10-01 Min. : 0
## 1st Qu.: 0.0 1st Qu.:2012-10-16 1st Qu.: 589
## Median : 0.0 Median :2012-10-31 Median :1178
## Mean : 37.4 Mean :2012-10-31 Mean :1178
## 3rd Qu.: 12.0 3rd Qu.:2012-11-15 3rd Qu.:1766
## Max. :806.0 Max. :2012-11-30 Max. :2355
## NA's :2304
total_steps <- aggregate(steps ~ date, activity_data, sum)
hist(total_steps$steps, main="Total number of steps taken per day", xlab = "Total steps", ylab = "Count", col = "Red", breaks=8)
mean_steps <- mean(total_steps$steps)
mean_steps
## [1] 10766
median_steps <- median(total_steps$steps)
median_steps
## [1] 10765
avg_dailysteps <- aggregate(steps ~ interval, activity_data, mean)
plot(avg_dailysteps, type="l", xlab="Time Intervals (5-minute)", ylab="Average number of steps taken (all Days)", main = "Average steps taken accross all days", col="red")
max_interval <- avg_dailysteps$interval[which.max(avg_dailysteps$steps)]
max_interval
## [1] 835
is 835th minute.
total_NA <- sum(is.na(activity_data))
total_NA
## [1] 2304
is 2304.
mod_activity_data <- activity_data
mod_activity_data$steps[is.na(mod_activity_data$steps)] <- avg_dailysteps$steps
summary(activity_data)
## steps date interval
## Min. : 0.0 Min. :2012-10-01 Min. : 0
## 1st Qu.: 0.0 1st Qu.:2012-10-16 1st Qu.: 589
## Median : 0.0 Median :2012-10-31 Median :1178
## Mean : 37.4 Mean :2012-10-31 Mean :1178
## 3rd Qu.: 12.0 3rd Qu.:2012-11-15 3rd Qu.:1766
## Max. :806.0 Max. :2012-11-30 Max. :2355
## NA's :2304
summary(mod_activity_data)
## steps date interval
## Min. : 0.0 Min. :2012-10-01 Min. : 0
## 1st Qu.: 0.0 1st Qu.:2012-10-16 1st Qu.: 589
## Median : 0.0 Median :2012-10-31 Median :1178
## Mean : 37.4 Mean :2012-10-31 Mean :1178
## 3rd Qu.: 27.0 3rd Qu.:2012-11-15 3rd Qu.:1766
## Max. :806.0 Max. :2012-11-30 Max. :2355
mod_total_steps <- aggregate(steps ~ date, mod_activity_data, sum)
hist(mod_total_steps$steps, main="Total number of steps taken per day", xlab = "Total steps", ylab = "Count", col = "Red", breaks=8)
Mean and median total number of steps taken per day:
mod_mean_steps <- mean(mod_total_steps$steps)
mod_mean_steps
## [1] 10766
mod_median_steps <- median(mod_total_steps$steps)
mod_median_steps
## [1] 10766
week_activity_data <- activity_data
week_activity_data$weekdays <- factor(format(week_activity_data$date, "%A"))
levels(week_activity_data$weekdays) <- list(weekday=c("Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma"), weekend = c("Cumartesi", "Pazar"))
avg_weeksteps <- aggregate(steps ~ interval + weekdays, week_activity_data, "mean")
library(lattice)
xyplot(steps ~ interval | weekdays, avg_weeksteps, layout=c(1, 2), type="l", xlab="Interval (5-minute)", ylab="Average number of steps across all days")