From f5b46ed741c171ce07dbb93dc157ac40aba7ecad Mon Sep 17 00:00:00 2001 From: Alex-Logos Date: Mon, 29 Jan 2024 16:28:59 +0900 Subject: [PATCH 1/2] "PA1_template.md" completed and "PA1_template.html" generated., --- PA1_template.Rmd | 96 ++++++++- PA1_template.html | 509 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 600 insertions(+), 5 deletions(-) create mode 100644 PA1_template.html diff --git a/PA1_template.Rmd b/PA1_template.Rmd index d5cc677c93d..45a46623579 100644 --- a/PA1_template.Rmd +++ b/PA1_template.Rmd @@ -5,21 +5,107 @@ output: keep_md: true --- +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = TRUE) +``` +# Activity Monitoring Data Analysis -## Loading and preprocessing the data +## 0. Load the necessary library +```{r} +library(utils) +library(ggplot2) +``` +## 1. Loading and preprocessing the data +```{r} +# Read the CSV file directly from the zipped archive +zipFilePath <- "activity.zip" +csvFileName <- "activity.csv" +data <- read.csv(unzip(zipFilePath, files = csvFileName)) +# Aggregate total steps by date +totalStepsByDay <- aggregate(steps ~ date, data, sum, na.rm = TRUE) +``` -## What is mean total number of steps taken per day? +## 2. What is mean total number of steps taken per day? +```{r} +# Make a histogram of the total number of steps taken each day +hist(totalStepsByDay$steps, main = "Total Steps Taken Each Day", xlab = "Total Steps", ylab = "Frequency", col = "blue") +# Calculate and report the mean and median total number of steps taken per day +meanSteps <- mean(totalStepsByDay$steps) +medianSteps <- median(totalStepsByDay$steps) +# Print the results +cat("Mean total number of steps taken per day: ", meanSteps, "\n") +cat("Median total number of steps taken per day: ", medianSteps, "\n") +``` -## What is the average daily activity pattern? +## 3. What is the average daily activity pattern? +```{r} +# Calculate the average number of steps taken in each 5-minute interval +averageStepsByInterval <- aggregate(steps ~ interval, data, mean, na.rm = TRUE) +# Make a time series plot +plot(averageStepsByInterval$interval, averageStepsByInterval$steps, type = "l", xlab = "Interval", ylab = "Average Number of Steps", main = "Average Daily Activity Pattern") +# Identify the interval with the maximum average number of steps +maxInterval <- averageStepsByInterval[which.max(averageStepsByInterval$steps), ]$interval -## Imputing missing values +# Print the result +cat("The 5-minute interval with the maximum number of steps on average is:", maxInterval) +``` +## 4. Imputing missing values +```{r} +# Calculate and report the total number of missing values +totalNAs <- sum(is.na(data$steps)) +cat("Total number of missing values: ", totalNAs, "\n") +# Calculate the mean for each interval +averageStepsByInterval <- aggregate(steps ~ interval, data, mean, na.rm = TRUE) -## Are there differences in activity patterns between weekdays and weekends? +# Fill in missing values and create a new dataset +filledData <- data +for (i in 1:nrow(filledData)) { + if (is.na(filledData$steps[i])) { + filledData$steps[i] <- averageStepsByInterval$steps[which(averageStepsByInterval$interval == filledData$interval[i])] + } +} + +# Aggregate total steps by day for the filled dataset +totalStepsByDayFilled <- aggregate(steps ~ date, filledData, sum) + +# Make a histogram +hist(totalStepsByDayFilled$steps, main = "Total Steps Taken Each Day (Filled Data)", xlab = "Total Steps", ylab = "Frequency", col = "green") + +# Calculate mean and median +meanStepsFilled <- mean(totalStepsByDayFilled$steps) +medianStepsFilled <- median(totalStepsByDayFilled$steps) + +# Print the results +cat("Mean total number of steps taken per day (Filled Data): ", meanStepsFilled, "\n") +cat("Median total number of steps taken per day (Filled Data): ", medianStepsFilled, "\n") +``` + +## 5. Are there differences in activity patterns between weekdays and weekends? +```{r} +# Convert 'date' to Date type if it's not already +filledData$date <- as.Date(filledData$date) + +# Create a new factor variable for weekday/weekend +filledData$dayType <- ifelse(weekdays(filledData$date, abbreviate = TRUE) %in% c("土", "日"), "weekend", "weekday") +filledData$dayType <- factor(filledData$dayType, levels = c("weekday", "weekend")) + +# Aggregate average steps by interval and dayType again to reflect the updated dayType +averageStepsByDayType <- aggregate(steps ~ interval + dayType, filledData, mean) + +# Create the plot +ggplot(averageStepsByDayType, aes(x = interval, y = steps, color = dayType)) + + geom_line() + + xlab("Interval") + + ylab("Average Number of Steps") + + ggtitle("Average Number of Steps by Interval: Weekday vs Weekend") + + scale_color_manual(values = c("weekday" = "blue", "weekend" = "red")) + + theme(legend.position = "bottom") +``` \ No newline at end of file diff --git a/PA1_template.html b/PA1_template.html new file mode 100644 index 00000000000..8b48a3761f4 --- /dev/null +++ b/PA1_template.html @@ -0,0 +1,509 @@ + + + + + + + + + + + + + +Reproducible Research: Peer Assessment 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+

Activity Monitoring Data Analysis

+
+

0. Load the necessary library

+
library(utils)
+library(ggplot2)
+
## Warning: パッケージ 'ggplot2' はバージョン 4.3.2 の R の下で造られました
+
+
+

1. Loading and preprocessing the data

+
# Read the CSV file directly from the zipped archive
+zipFilePath <- "activity.zip"
+csvFileName <- "activity.csv"
+data <- read.csv(unzip(zipFilePath, files = csvFileName))
+
+# Aggregate total steps by date
+totalStepsByDay <- aggregate(steps ~ date, data, sum, na.rm = TRUE)
+
+
+

2. What is mean total number of steps taken per day?

+
# Make a histogram of the total number of steps taken each day
+hist(totalStepsByDay$steps, main = "Total Steps Taken Each Day", xlab = "Total Steps", ylab = "Frequency", col = "blue")
+

+
# Calculate and report the mean and median total number of steps taken per day
+meanSteps <- mean(totalStepsByDay$steps)
+medianSteps <- median(totalStepsByDay$steps)
+
+# Print the results
+cat("Mean total number of steps taken per day: ", meanSteps, "\n")
+
## Mean total number of steps taken per day:  10766.19
+
cat("Median total number of steps taken per day: ", medianSteps, "\n")
+
## Median total number of steps taken per day:  10765
+
+
+

3. What is the average daily activity pattern?

+
# Calculate the average number of steps taken in each 5-minute interval
+averageStepsByInterval <- aggregate(steps ~ interval, data, mean, na.rm = TRUE)
+
+# Make a time series plot
+plot(averageStepsByInterval$interval, averageStepsByInterval$steps, type = "l", xlab = "Interval", ylab = "Average Number of Steps", main = "Average Daily Activity Pattern")
+

+
# Identify the interval with the maximum average number of steps
+maxInterval <- averageStepsByInterval[which.max(averageStepsByInterval$steps), ]$interval
+
+# Print the result
+cat("The 5-minute interval with the maximum number of steps on average is:", maxInterval)
+
## The 5-minute interval with the maximum number of steps on average is: 835
+
+
+

4. Imputing missing values

+
# Calculate and report the total number of missing values
+totalNAs <- sum(is.na(data$steps))
+cat("Total number of missing values: ", totalNAs, "\n")
+
## Total number of missing values:  2304
+
# Calculate the mean for each interval
+averageStepsByInterval <- aggregate(steps ~ interval, data, mean, na.rm = TRUE)
+
+# Fill in missing values and create a new dataset
+filledData <- data
+for (i in 1:nrow(filledData)) {
+  if (is.na(filledData$steps[i])) {
+    filledData$steps[i] <- averageStepsByInterval$steps[which(averageStepsByInterval$interval == filledData$interval[i])]
+  }
+}
+
+# Aggregate total steps by day for the filled dataset
+totalStepsByDayFilled <- aggregate(steps ~ date, filledData, sum)
+
+# Make a histogram
+hist(totalStepsByDayFilled$steps, main = "Total Steps Taken Each Day (Filled Data)", xlab = "Total Steps", ylab = "Frequency", col = "green")
+

+
# Calculate mean and median
+meanStepsFilled <- mean(totalStepsByDayFilled$steps)
+medianStepsFilled <- median(totalStepsByDayFilled$steps)
+
+# Print the results
+cat("Mean total number of steps taken per day (Filled Data): ", meanStepsFilled, "\n")
+
## Mean total number of steps taken per day (Filled Data):  10766.19
+
cat("Median total number of steps taken per day (Filled Data): ", medianStepsFilled, "\n")
+
## Median total number of steps taken per day (Filled Data):  10766.19
+
+
+

5. Are there differences in activity patterns between weekdays and +weekends?

+
# Convert 'date' to Date type if it's not already
+filledData$date <- as.Date(filledData$date)
+
+# Create a new factor variable for weekday/weekend
+filledData$dayType <- ifelse(weekdays(filledData$date, abbreviate = TRUE) %in% c("土", "日"), "weekend", "weekday")
+filledData$dayType <- factor(filledData$dayType, levels = c("weekday", "weekend"))
+
+# Aggregate average steps by interval and dayType again to reflect the updated dayType
+averageStepsByDayType <- aggregate(steps ~ interval + dayType, filledData, mean)
+
+# Create the plot
+ggplot(averageStepsByDayType, aes(x = interval, y = steps, color = dayType)) +
+  geom_line() +
+  xlab("Interval") +
+  ylab("Average Number of Steps") +
+  ggtitle("Average Number of Steps by Interval: Weekday vs Weekend") +
+  scale_color_manual(values = c("weekday" = "blue", "weekend" = "red")) +
+  theme(legend.position = "bottom")
+

+
+
+ + + + +
+ + + + + + + + + + + + + + + From 05a4c2ffb3e38ea91206f7add801f63175a7cd5b Mon Sep 17 00:00:00 2001 From: Alex-Logos Date: Fri, 2 Feb 2024 15:01:31 +0900 Subject: [PATCH 2/2] Transfer local files except Activity csv file. --- .gitignore | 4 + PA1_template.md | 165 ++++++++++++++++++ .../figure-html/unnamed-chunk-3-1.png | Bin 0 -> 5446 bytes .../figure-html/unnamed-chunk-4-1.png | Bin 0 -> 8532 bytes .../figure-html/unnamed-chunk-5-1.png | Bin 0 -> 5699 bytes .../figure-html/unnamed-chunk-6-1.png | Bin 0 -> 10649 bytes RepData_PeerAssessment1.Rproj | 13 ++ 7 files changed, 182 insertions(+) create mode 100644 .gitignore create mode 100644 PA1_template.md create mode 100644 PA1_template_files/figure-html/unnamed-chunk-3-1.png create mode 100644 PA1_template_files/figure-html/unnamed-chunk-4-1.png create mode 100644 PA1_template_files/figure-html/unnamed-chunk-5-1.png create mode 100644 PA1_template_files/figure-html/unnamed-chunk-6-1.png create mode 100644 RepData_PeerAssessment1.Rproj diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000000..5b6a0652566 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.Rproj.user +.Rhistory +.RData +.Ruserdata diff --git a/PA1_template.md b/PA1_template.md new file mode 100644 index 00000000000..d09b10daf44 --- /dev/null +++ b/PA1_template.md @@ -0,0 +1,165 @@ +--- +title: "Reproducible Research: Peer Assessment 1" +output: + html_document: + keep_md: true +--- + + +# Activity Monitoring Data Analysis + + +## 0. Load the necessary library + +```r +library(utils) +library(ggplot2) +``` + +``` +## Warning: パッケージ 'ggplot2' はバージョン 4.3.2 の R の下で造られました +``` +## 1. Loading and preprocessing the data + +```r +# Read the CSV file directly from the zipped archive +zipFilePath <- "activity.zip" +csvFileName <- "activity.csv" +data <- read.csv(unzip(zipFilePath, files = csvFileName)) + +# Aggregate total steps by date +totalStepsByDay <- aggregate(steps ~ date, data, sum, na.rm = TRUE) +``` + +## 2. What is mean total number of steps taken per day? + +```r +# Make a histogram of the total number of steps taken each day +hist(totalStepsByDay$steps, main = "Total Steps Taken Each Day", xlab = "Total Steps", ylab = "Frequency", col = "blue") +``` + +![](PA1_template_files/figure-html/unnamed-chunk-3-1.png) + +```r +# Calculate and report the mean and median total number of steps taken per day +meanSteps <- mean(totalStepsByDay$steps) +medianSteps <- median(totalStepsByDay$steps) + +# Print the results +cat("Mean total number of steps taken per day: ", meanSteps, "\n") +``` + +``` +## Mean total number of steps taken per day: 10766.19 +``` + +```r +cat("Median total number of steps taken per day: ", medianSteps, "\n") +``` + +``` +## Median total number of steps taken per day: 10765 +``` + +## 3. What is the average daily activity pattern? + +```r +# Calculate the average number of steps taken in each 5-minute interval +averageStepsByInterval <- aggregate(steps ~ interval, data, mean, na.rm = TRUE) + +# Make a time series plot +plot(averageStepsByInterval$interval, averageStepsByInterval$steps, type = "l", xlab = "Interval", ylab = "Average Number of Steps", main = "Average Daily Activity Pattern") +``` + +![](PA1_template_files/figure-html/unnamed-chunk-4-1.png) + +```r +# Identify the interval with the maximum average number of steps +maxInterval <- averageStepsByInterval[which.max(averageStepsByInterval$steps), ]$interval + +# Print the result +cat("The 5-minute interval with the maximum number of steps on average is:", maxInterval) +``` + +``` +## The 5-minute interval with the maximum number of steps on average is: 835 +``` + +## 4. Imputing missing values + +```r +# Calculate and report the total number of missing values +totalNAs <- sum(is.na(data$steps)) +cat("Total number of missing values: ", totalNAs, "\n") +``` + +``` +## Total number of missing values: 2304 +``` + +```r +# Calculate the mean for each interval +averageStepsByInterval <- aggregate(steps ~ interval, data, mean, na.rm = TRUE) + +# Fill in missing values and create a new dataset +filledData <- data +for (i in 1:nrow(filledData)) { + if (is.na(filledData$steps[i])) { + filledData$steps[i] <- averageStepsByInterval$steps[which(averageStepsByInterval$interval == filledData$interval[i])] + } +} + +# Aggregate total steps by day for the filled dataset +totalStepsByDayFilled <- aggregate(steps ~ date, filledData, sum) + +# Make a histogram +hist(totalStepsByDayFilled$steps, main = "Total Steps Taken Each Day (Filled Data)", xlab = "Total Steps", ylab = "Frequency", col = "green") +``` + +![](PA1_template_files/figure-html/unnamed-chunk-5-1.png) + +```r +# Calculate mean and median +meanStepsFilled <- mean(totalStepsByDayFilled$steps) +medianStepsFilled <- median(totalStepsByDayFilled$steps) + +# Print the results +cat("Mean total number of steps taken per day (Filled Data): ", meanStepsFilled, "\n") +``` + +``` +## Mean total number of steps taken per day (Filled Data): 10766.19 +``` + +```r +cat("Median total number of steps taken per day (Filled Data): ", medianStepsFilled, "\n") +``` + +``` +## Median total number of steps taken per day (Filled Data): 10766.19 +``` + +## 5. Are there differences in activity patterns between weekdays and weekends? + +```r +# Convert 'date' to Date type if it's not already +filledData$date <- as.Date(filledData$date) + +# Create a new factor variable for weekday/weekend +filledData$dayType <- ifelse(weekdays(filledData$date, abbreviate = TRUE) %in% c("土", "日"), "weekend", "weekday") +filledData$dayType <- factor(filledData$dayType, levels = c("weekday", "weekend")) + +# Aggregate average steps by interval and dayType again to reflect the updated dayType +averageStepsByDayType <- aggregate(steps ~ interval + dayType, filledData, mean) + +# Create the plot +ggplot(averageStepsByDayType, aes(x = interval, y = steps, color = dayType)) + + geom_line() + + xlab("Interval") + + ylab("Average Number of Steps") + + ggtitle("Average Number of Steps by Interval: Weekday vs Weekend") + + scale_color_manual(values = c("weekday" = "blue", "weekend" = "red")) + + theme(legend.position = "bottom") +``` + +![](PA1_template_files/figure-html/unnamed-chunk-6-1.png) diff --git a/PA1_template_files/figure-html/unnamed-chunk-3-1.png b/PA1_template_files/figure-html/unnamed-chunk-3-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c4e15e01a825f6529183daecd4d0eda0eac2985a GIT binary patch literal 5446 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 Gf&T_2sP-BF literal 0 HcmV?d00001 diff --git a/PA1_template_files/figure-html/unnamed-chunk-5-1.png b/PA1_template_files/figure-html/unnamed-chunk-5-1.png new file mode 100644 index 0000000000000000000000000000000000000000..3664e3b802b12ede347316341cbc1cf22e0d1d49 GIT binary patch literal 5699 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 literal 0 HcmV?d00001 diff --git a/PA1_template_files/figure-html/unnamed-chunk-6-1.png b/PA1_template_files/figure-html/unnamed-chunk-6-1.png new file mode 100644 index 0000000000000000000000000000000000000000..4c57fbc78b5a89627852db278e583ada673db3a9 GIT binary patch literal 10649 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