This file contains a set of tasks that you need to complete in R for the lab assignment. The tasks may require you to add a code chuck, type code into a chunk, and/or execute code. Some tasks may also ask you to answer specific questions. Don’t forget that you need to acknowledge if you used any resources beyond class materials or got help to complete the assignment.
Additional information and examples relevant to this assignment can be found in the file “PlayingWithDataTutorial.html”.
The data set you will use is different than the one used in the instructions. Pay attention to the differences in the Excel files name, any variable names, and/or object names. You will need to adjust your code accordingly.
Once you have completed the assignment, you will need to knit this R Markdown file to produce an html file. You will then need to upload the .html file and this .Rmd file to AsULearn. Additionally, for this assignment you will upload the Excel file you created.
The first thing you need to do in this file is to add your name and date in the lines underneath this document’s title (see the code in lines 10 and 11).
Insert a chunk of code in this section to identify and set your
working directory and load packages. We will use the same three packages
we did in the last lab: openxlsx, dplyr and
tidyverse.
setwd(“/Users/corddoss/Desktop/Research methods class/”) library(dplyr)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
library(tidyverse)
── Attaching core tidyverse packages ─────────── ✔ forcats 1.0.1 ✔
readr 2.1.5 ✔ ggplot2 4.0.0 ✔ stringr 1.5.2 ✔ lubridate 1.9.4 ✔ tibble
3.3.0 ✔ purrr 1.1.0 ✔ tidyr 1.3.1 ── Conflicts ──────────
tidyverse_conflicts() ── ✖ dplyr::filter() masks stats::filter() ✖
dplyr::lag() masks stats::lag() ℹ Use the conflicted package to force
all conflicts to become errors library(openxlsx) # 3. Load Two Data Sets
Insert a chunk of code in this section to load your data. The Excel file
for this assignment has two sheets: grades and attendance. Sheet 1
contains the grades data and Sheet 2 contains the attendance data. You
will want to load each sheet into R as separate data objects. The name
of the Excel file is different than what is in the instructions.
Accordingly, you will need to adjust the code to read in the Excel file
that was downloaded as part of the zip file. GradeBook <-
read.xlsx(“GradeBook.xlsx” , sheet = 1) > head(GradeBook, 10) X1
Midterm.1 Midterm.2 Assignment.1 1 Noah 15.00000 12.00000 5.000000 2
Jack 11.00478 15.00000 6.771172 3 Emily 20.00000 20.00000 8.000000 4
Colin 20.00000 17.00000 8.000000 5 Hannah 10.00000 17.00000 6.802136 6
Aubrie 20.00000 14.00000 5.000000 7 Olivia 14.00000 17.72971 10.000000 8
Duncan 9.62783 16.00000 7.000000 9 Katie 19.00000 12.00000 9.000000 10
Jackson 17.00000 15.00000 8.000000 Assignment.2 Assignment.3 Final 1
8.000000 5.661442 30.00000 2 10.000000 8.000000 26.00000 3 8.000000
8.154995 20.00000 4 5.000000 8.673615 25.00000 5 9.604730 10.000000
20.00000 6 6.000000 6.000000 17.78453 7 7.000000 6.000000 26.00000 8
8.065708 8.000000 18.95910 9 8.000000 8.967217 20.00000 10 6.000000
2.549882 25.00000 Attendance <- read.xlsx(“GradeBook.xlsx” , sheet =
2) > head(Attendance, 10) Name 1 2 3 4 5 1 Noah 1 1 1 1 1 2 Jack 0 1
1 1 1 3 Emily 1 1 0 0 1 4 Colin 1 0 1 1 1 5 Hannah 1 1 0 1 1 6 Aubrie 1
1 1 1 1 7 Olivia 1 1 1 1 1 8 Duncan 0 1 0 0 1 9 Katie 1 1 1 1 1 10
Jackson 1 0 1 1 1 # 4. Take a look at your data Insert a chunk of code
in this section and display the first 15 observations of each data set.
head(Attendance, 15) Name 1 2 3 4 5 1 Noah 1 1 1 1 1 2 Jack 0 1 1 1 1 3
Emily 1 1 0 0 1 4 Colin 1 0 1 1 1 5 Hannah 1 1 0 1 1 6 Aubrie 1 1 1 1 1
7 Olivia 1 1 1 1 1 8 Duncan 0 1 0 0 1 9 Katie 1 1 1 1 1 10 Jackson 1 0 1
1 1 11 Victoria 1 1 1 1 1 12 Matthew 1 1 0 1 0 13 Michael 0 1 1 1 1 14
Olivia 1 1 1 1 1 15 Samantha 1 0 1 1 1 # 5. Rename Variables You will
need to insert chunks of code and rename variables in your data sets in
this section. I recommend trying to do only one thing per chunk of code.
Attendance %>% + rename(Class1 = “1”, + Class2 = “2”, + Class3 = “3”,
+ Class4 = “4”, + Class5 = “5”) -> Attendance In the attendance data
set, you will need to rename the variables that are currently numbers
into text. In the instructions, I called each variable
Class and then the number of that class, for example
Class1. Instead of using the same variable name as I did,
you should call each variable a Meeting. Attendance %>%
+ rename(Meeting1 = “Class1”, + Meeting2 = “Class2”, + Meeting3 =
“Class3”, + Meeting4 = “Class4”, + Meeting5 = “Class5”) -> Attendance
head(Attendance, 15) Name Meeting1 Meeting2 Meeting3 Meeting4 1 Noah 1 1
1 1 2 Jack 0 1 1 1 3 Emily 1 1 0 0 4 Colin 1 0 1 1 5 Hannah 1 1 0 1 6
Aubrie 1 1 1 1 7 Olivia 1 1 1 1 8 Duncan 0 1 0 0 9 Katie 1 1 1 1 10
Jackson 1 0 1 1 11 Victoria 1 1 1 1 12 Matthew 1 1 0 1 13 Michael 0 1 1
1 14 Olivia 1 1 1 1 15 Samantha 1 0 1 1 Meeting5 1 1 2 1 3 1 4 1 5 1 6 1
7 1 8 1 9 1 10 1 11 1 12 0 13 1 14 1 15 1 In the grade book data set,
rename the variables so that they do not have a . in their
names. GradeBook %>% + rename(Name = “X1”, + Midterm1 = “Midterm.1”,
+ Midterm2 = “Midterm.2”, + Assignment1 = “Assignment.1”, + Assignment2
= “Assignment.2”, + Assignment3 = “Assignment.3”, + Final = “Final”)
-> GradeBook After renaming the variables, look at the first 15
observations for each data set. head(GradeBook, 15) Name Midterm1
Midterm2 Assignment1 1 Noah 15.00000 12.00000 5.000000 2 Jack 11.00478
15.00000 6.771172 3 Emily 20.00000 20.00000 8.000000 4 Colin 20.00000
17.00000 8.000000 5 Hannah 10.00000 17.00000 6.802136 6 Aubrie 20.00000
14.00000 5.000000 7 Olivia 14.00000 17.72971 10.000000 8 Duncan 9.62783
16.00000 7.000000 9 Katie 19.00000 12.00000 9.000000 10 Jackson 17.00000
15.00000 8.000000 11 Victoria 11.00000 9.93236 8.000000 12 Matthew
10.00000 13.00000 10.000000 13 Michael 7.00000 11.00000 8.000000 14
Olivia 14.00000 12.00000 6.000000 15 Samantha 6.00000 10.00000 6.000000
Assignment2 Assignment3 Final 1 8.000000 5.661442 30.00000 2 10.000000
8.000000 26.00000 3 8.000000 8.154995 20.00000 4 5.000000 8.673615
25.00000 5 9.604730 10.000000 20.00000 6 6.000000 6.000000 17.78453 7
7.000000 6.000000 26.00000 8 8.065708 8.000000 18.95910 9 8.000000
8.967217 20.00000 10 6.000000 2.549882 25.00000 11 10.000000 6.701154
26.00000 12 9.000000 10.000000 26.00000 13 10.000000 10.000000 18.00000
14 7.000000 8.000000 29.00000 15 8.000000 6.000000 19.00000 # 6.
Creating New Attendance Variables In this section, insert chunks and
create the following variables in your attendance data set. Attendance
%>% + mutate(Present = (Meeting1 + Meeting2 + Meeting3 + Meeting4 +
Meeting5)) -> Attendance - Total number of classes attended.
mutate(Absent = ((Meeting1 + Meeting2 + Meeting3 + Meeting4 + Meeting5) -5) *-1) -> Attendance
Attendance\(Unexcused <- 0 Attendance\)Unexcused[8] <- 1
mutate(GradePenalty = Unexcused * 0.5) -> AttendanceIn this section, insert chunks and create the following variables in your grade book data set.
mutate(PerA1 = (Assignment1/10)*100) -> GradeBook
mutate(PerA2 = (Assignment2/10)*100) -> GradeBookmutate(PerA3 = (Assignment3/10)*100) -> GradeBook
There are multiple ways one can calculate the overall grade for the
class. You are going to calculate the final grade in two different
ways.mutate(PerMT1 = (Midterm1/20)*100) -> GradeBookmutate(PerMT2 = (Midterm2/20)*100) -> GradeBookmutate(PerF = (Final/30)*100) -> GradeBook
After you have completed these calucations, take a look at the first 15 observations in your data set. GradeBook %>%
mutate(FinalGrade1 = (PerA1 + PerA2 + PerA3 + PerMT1 + PerMT2 + PerF) / 6) -> GradeBook
In this section, insert chunks and calculate the mean, minimum, and
maximum for 3 different variables (midterm 2, assignment 3, and the
final exam) in the grade book data set. Use the variables that report
the scores as a percentage that you created.
head(GradeBook, 15) Name Midterm1 Midterm2 Assignment1 1 Noah 15.00000
12.00000 5.000000 2 Jack 11.00478 15.00000 6.771172 3 Emily 20.00000
20.00000 8.000000 4 Colin 20.00000 17.00000 8.000000 5 Hannah 10.00000
17.00000 6.802136 6 Aubrie 20.00000 14.00000 5.000000 7 Olivia 14.00000
17.72971 10.000000 8 Duncan 9.62783 16.00000 7.000000 9 Katie 19.00000
12.00000 9.000000 10 Jackson 17.00000 15.00000 8.000000 11 Victoria
11.00000 9.93236 8.000000 12 Matthew 10.00000 13.00000 10.000000 13
Michael 7.00000 11.00000 8.000000 14 Olivia 14.00000 12.00000 6.000000
15 Samantha 6.00000 10.00000 6.000000 Assignment2 Assignment3 Final
PerA1 1 8.000000 5.661442 30.00000 50.00000 2 10.000000 8.000000
26.00000 67.71172 3 8.000000 8.154995 20.00000 80.00000 4 5.000000
8.673615 25.00000 80.00000 5 9.604730 10.000000 20.00000 68.02136 6
6.000000 6.000000 17.78453 50.00000 7 7.000000 6.000000 26.00000
100.00000 8 8.065708 8.000000 18.95910 70.00000 9 8.000000 8.967217
20.00000 90.00000 10 6.000000 2.549882 25.00000 80.00000 11 10.000000
6.701154 26.00000 80.00000 12 9.000000 10.000000 26.00000 100.00000 13
10.000000 10.000000 18.00000 80.00000 14 7.000000 8.000000 29.00000
60.00000 15 8.000000 6.000000 19.00000 60.00000 PerA2 PerA3 PerMT1
PerMT2 1 80.00000 56.61442 75.00000 60.00000 2 100.00000 80.00000
55.02392 75.00000 3 80.00000 81.54995 100.00000 100.00000 4 50.00000
86.73615 100.00000 85.00000 5 96.04730 100.00000 50.00000 85.00000 6
60.00000 60.00000 100.00000 70.00000 7 70.00000 60.00000 70.00000
88.64856 8 80.65708 80.00000 48.13915 80.00000 9 80.00000 89.67217
95.00000 60.00000 10 60.00000 25.49882 85.00000 75.00000 11 100.00000
67.01154 55.00000 49.66180 12 90.00000 100.00000 50.00000 65.00000 13
100.00000 100.00000 35.00000 55.00000 14 70.00000 80.00000 70.00000
60.00000 15 80.00000 60.00000 30.00000 50.00000 PerF FinalGrade1
FinalGrade2 1 100.00000 70.26907 75.66144 2 86.66667 77.40038 76.77596 3
66.66667 84.70277 84.15500 4 83.33333 80.84491 83.67361 5 66.66667
77.62255 73.40687 6 59.28176 66.54696 68.78453 7 86.66667 79.21920
80.72971 8 63.19701 70.33221 67.65264 9 66.66667 80.22314 76.96722 10
83.33333 68.13869 73.54988 11 86.66667 73.05667 71.63351 12 86.66667
81.94444 78.00000 13 60.00000 71.66667 64.00000 14 96.66667 72.77778
76.00000 15 63.33333 57.22222 55.00000 # 9. Create Objects Containing
Multiple Values In this section, insert chunks and produce the following
objects that will contain values for each variable in the data set.
mean_PerA2 <- mean(GradeBook\(PerA2)
> min_PerA2 <- min(GradeBook\)PerA2) > max_PerA2 <-
max(GradeBook\(PerA2)
print(mean_PerA2)
[1] 79.16902
print(min_PerA2)
[1] 50
print(max_PerA2)
[1] 100
mean_PerA3 <- mean(GradeBook\)PerA3) min_PerA3 <-
min(GradeBook\(PerA3)
max_PerA3 <- max(GradeBook\)PerA3) print(mean_PerA3) [1]
74.81769 print(min_PerA3) [1] 25.49882 print(max_PerA3) [1] 100
mean_PerF <- mean(GradeBook\(PerF)
> min_PerF <- min(GradeBook\)PerF) > max_PerF <-
max(GradeBook$PerF) > print(mean_PerF) [1] 78.07159 print(min_PerF)
[1] 59.28176 print(max_PerF) [1] 100
Using the attendance data, create two objects. One object should contain the total number of students attending a class session. One object should contain the mean number of students attending a class session.
Using the grade book data, create three objects for the mean, min, and max grades for each of the variable in the data set.
In this section, insert chunks of code that will combine objects together.
Enter the names of anyone that you assisted with completing this lab. If you did not help anyone, then just type out that you didn’t help anyone. no # 14. Knit the Document Click the “Knit” button to publish your work as an html document. This document or file will appear in the folder specified by your working directory. You will need to upload both this RMarkdown file and the html file it produces to AsU Learn to get all of the lab points for this week. Additionally, you need to upload the Excel file that you exported when completing the assignment to get all of the lab points for this week.