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.
getwd()
## [1] "C:/Users/brcla/Downloads/PlayingWithDataFall2025/PlayingWithDataFall2025"
setwd("/Users/brcla/Downloads/PlayingWithDataFall2025/PlayingWithDataFall2025")
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(openxlsx)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ readr 2.1.5
## ✔ ggplot2 3.5.2 ✔ stringr 1.5.1
## ✔ 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 (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
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)
Attendance <- read.xlsx("GradeBook.xlsx", sheet = 2)
Insert a chunk of code in this section and display the first 15 observations of each data set.
head(GradeBook, 15)
## X1 Midterm.1 Midterm.2 Assignment.1 Assignment.2 Assignment.3 Final
## 1 Noah 15.00000 12.00000 5.000000 8.000000 5.661442 30.00000
## 2 Jack 11.00478 15.00000 6.771172 10.000000 8.000000 26.00000
## 3 Emily 20.00000 20.00000 8.000000 8.000000 8.154995 20.00000
## 4 Colin 20.00000 17.00000 8.000000 5.000000 8.673615 25.00000
## 5 Hannah 10.00000 17.00000 6.802136 9.604730 10.000000 20.00000
## 6 Aubrie 20.00000 14.00000 5.000000 6.000000 6.000000 17.78453
## 7 Olivia 14.00000 17.72971 10.000000 7.000000 6.000000 26.00000
## 8 Duncan 9.62783 16.00000 7.000000 8.065708 8.000000 18.95910
## 9 Katie 19.00000 12.00000 9.000000 8.000000 8.967217 20.00000
## 10 Jackson 17.00000 15.00000 8.000000 6.000000 2.549882 25.00000
## 11 Victoria 11.00000 9.93236 8.000000 10.000000 6.701154 26.00000
## 12 Matthew 10.00000 13.00000 10.000000 9.000000 10.000000 26.00000
## 13 Michael 7.00000 11.00000 8.000000 10.000000 10.000000 18.00000
## 14 Olivia 14.00000 12.00000 6.000000 7.000000 8.000000 29.00000
## 15 Samantha 6.00000 10.00000 6.000000 8.000000 6.000000 19.00000
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
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.
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 = "1",
Meeting2 = "2",
Meeting3 = "3",
Meeting4 = "4",
Meeting5 = "5") -> Attendance
head(Attendance, 15)
## Name Meeting1 Meeting2 Meeting3 Meeting4 Meeting5
## 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
In the grade book data set, rename the variables so that they do not
have a . in their names.
After renaming the variables, look at the first 15 observations for each data set.
GradeBook %>%
rename(Name = "X1",
Midterm1 = Midterm.1,
Midterm2 = Midterm.2,
Assignment1 = Assignment.1,
Assignment2 = Assignment.2,
Assignment3 = Assignment.3,
Final = Final) -> GradeBook
head(GradeBook, 15)
## Name Midterm1 Midterm2 Assignment1 Assignment2 Assignment3 Final
## 1 Noah 15.00000 12.00000 5.000000 8.000000 5.661442 30.00000
## 2 Jack 11.00478 15.00000 6.771172 10.000000 8.000000 26.00000
## 3 Emily 20.00000 20.00000 8.000000 8.000000 8.154995 20.00000
## 4 Colin 20.00000 17.00000 8.000000 5.000000 8.673615 25.00000
## 5 Hannah 10.00000 17.00000 6.802136 9.604730 10.000000 20.00000
## 6 Aubrie 20.00000 14.00000 5.000000 6.000000 6.000000 17.78453
## 7 Olivia 14.00000 17.72971 10.000000 7.000000 6.000000 26.00000
## 8 Duncan 9.62783 16.00000 7.000000 8.065708 8.000000 18.95910
## 9 Katie 19.00000 12.00000 9.000000 8.000000 8.967217 20.00000
## 10 Jackson 17.00000 15.00000 8.000000 6.000000 2.549882 25.00000
## 11 Victoria 11.00000 9.93236 8.000000 10.000000 6.701154 26.00000
## 12 Matthew 10.00000 13.00000 10.000000 9.000000 10.000000 26.00000
## 13 Michael 7.00000 11.00000 8.000000 10.000000 10.000000 18.00000
## 14 Olivia 14.00000 12.00000 6.000000 7.000000 8.000000 29.00000
## 15 Samantha 6.00000 10.00000 6.000000 8.000000 6.000000 19.00000
In this section, insert chunks and create the following variables in your attendance data set.
Attendance %>%
mutate(Present = (Meeting1 + Meeting2 + Meeting3 + Meeting4 + Meeting5)) -> Attendance
head(Attendance, 15)
## Name Meeting1 Meeting2 Meeting3 Meeting4 Meeting5 Present
## 1 Noah 1 1 1 1 1 5
## 2 Jack 0 1 1 1 1 4
## 3 Emily 1 1 0 0 1 3
## 4 Colin 1 0 1 1 1 4
## 5 Hannah 1 1 0 1 1 4
## 6 Aubrie 1 1 1 1 1 5
## 7 Olivia 1 1 1 1 1 5
## 8 Duncan 0 1 0 0 1 2
## 9 Katie 1 1 1 1 1 5
## 10 Jackson 1 0 1 1 1 4
## 11 Victoria 1 1 1 1 1 5
## 12 Matthew 1 1 0 1 0 3
## 13 Michael 0 1 1 1 1 4
## 14 Olivia 1 1 1 1 1 5
## 15 Samantha 1 0 1 1 1 4
Attendance %>%
mutate(Missing = (Meeting1 + Meeting2 + Meeting3 + Meeting4 + Meeting5)) -> Attendance
head(Attendance, 15)
## Name Meeting1 Meeting2 Meeting3 Meeting4 Meeting5 Present Missing
## 1 Noah 1 1 1 1 1 5 5
## 2 Jack 0 1 1 1 1 4 4
## 3 Emily 1 1 0 0 1 3 3
## 4 Colin 1 0 1 1 1 4 4
## 5 Hannah 1 1 0 1 1 4 4
## 6 Aubrie 1 1 1 1 1 5 5
## 7 Olivia 1 1 1 1 1 5 5
## 8 Duncan 0 1 0 0 1 2 2
## 9 Katie 1 1 1 1 1 5 5
## 10 Jackson 1 0 1 1 1 4 4
## 11 Victoria 1 1 1 1 1 5 5
## 12 Matthew 1 1 0 1 0 3 3
## 13 Michael 0 1 1 1 1 4 4
## 14 Olivia 1 1 1 1 1 5 5
## 15 Samantha 1 0 1 1 1 4 4
Attendance %>%
mutate(Unexcused = (Meeting1 + Meeting2+ Meeting3 + Meeting4 + Meeting5)) -> Attendance
head(Attendance, 15)
## Name Meeting1 Meeting2 Meeting3 Meeting4 Meeting5 Present Missing
## 1 Noah 1 1 1 1 1 5 5
## 2 Jack 0 1 1 1 1 4 4
## 3 Emily 1 1 0 0 1 3 3
## 4 Colin 1 0 1 1 1 4 4
## 5 Hannah 1 1 0 1 1 4 4
## 6 Aubrie 1 1 1 1 1 5 5
## 7 Olivia 1 1 1 1 1 5 5
## 8 Duncan 0 1 0 0 1 2 2
## 9 Katie 1 1 1 1 1 5 5
## 10 Jackson 1 0 1 1 1 4 4
## 11 Victoria 1 1 1 1 1 5 5
## 12 Matthew 1 1 0 1 0 3 3
## 13 Michael 0 1 1 1 1 4 4
## 14 Olivia 1 1 1 1 1 5 5
## 15 Samantha 1 0 1 1 1 4 4
## Unexcused
## 1 5
## 2 4
## 3 3
## 4 4
## 5 4
## 6 5
## 7 5
## 8 2
## 9 5
## 10 4
## 11 5
## 12 3
## 13 4
## 14 5
## 15 4
names(Attendance)
## [1] "Name" "Meeting1" "Meeting2" "Meeting3" "Meeting4" "Meeting5"
## [7] "Present" "Missing" "Unexcused"
names(GradeBook)
## [1] "Name" "Midterm1" "Midterm2" "Assignment1" "Assignment2"
## [6] "Assignment3" "Final"
After you have completed these calculations, take a look at the first 15 observations in your data set.
In this section, insert chunks and create the following variables in your grade book data set.
GradeBook %>%
mutate(PerA1 = (Assignment1/10)*100) -> GradeBook
print(GradeBook$Assignment1)
## [1] 5.000000 6.771172 8.000000 8.000000 6.802136 5.000000 10.000000
## [8] 7.000000 9.000000 8.000000 8.000000 10.000000 8.000000 6.000000
## [15] 6.000000 9.000000
print(GradeBook$PerA1)
## [1] 50.00000 67.71172 80.00000 80.00000 68.02136 50.00000 100.00000
## [8] 70.00000 90.00000 80.00000 80.00000 100.00000 80.00000 60.00000
## [15] 60.00000 90.00000
GradeBook %>%
mutate(PerA2 = (Assignment2/10)*100) -> GradeBook
print(GradeBook$Assignment2)
## [1] 8.000000 10.000000 8.000000 5.000000 9.604730 6.000000 7.000000
## [8] 8.065708 8.000000 6.000000 10.000000 9.000000 10.000000 7.000000
## [15] 8.000000 7.000000
print(GradeBook$PerA2)
## [1] 80.00000 100.00000 80.00000 50.00000 96.04730 60.00000 70.00000
## [8] 80.65708 80.00000 60.00000 100.00000 90.00000 100.00000 70.00000
## [15] 80.00000 70.00000
GradeBook %>%
mutate(PerA3 = (Assignment3/10)*100) -> GradeBook
print(GradeBook$Assignment3)
## [1] 5.661442 8.000000 8.154995 8.673615 10.000000 6.000000 6.000000
## [8] 8.000000 8.967217 2.549882 6.701154 10.000000 10.000000 8.000000
## [15] 6.000000 7.000000
print(GradeBook$PerA3)
## [1] 56.61442 80.00000 81.54995 86.73615 100.00000 60.00000 60.00000
## [8] 80.00000 89.67217 25.49882 67.01154 100.00000 100.00000 80.00000
## [15] 60.00000 70.00000
GradeBook %>%
mutate(PerMT1 = (Midterm1/20)*100) -> GradeBook
print(GradeBook$Midterm1)
## [1] 15.00000 11.00478 20.00000 20.00000 10.00000 20.00000 14.00000 9.62783
## [9] 19.00000 17.00000 11.00000 10.00000 7.00000 14.00000 6.00000 11.00000
print(GradeBook$PerMT1)
## [1] 75.00000 55.02392 100.00000 100.00000 50.00000 100.00000 70.00000
## [8] 48.13915 95.00000 85.00000 55.00000 50.00000 35.00000 70.00000
## [15] 30.00000 55.00000
GradeBook %>%
mutate(PerMT2 = (Midterm2/20)*100) -> GradeBook
print(GradeBook$Midterm2)
## [1] 12.00000 15.00000 20.00000 17.00000 17.00000 14.00000 17.72971 16.00000
## [9] 12.00000 15.00000 9.93236 13.00000 11.00000 12.00000 10.00000 12.00000
print(GradeBook$PerMT2)
## [1] 60.00000 75.00000 100.00000 85.00000 85.00000 70.00000 88.64856
## [8] 80.00000 60.00000 75.00000 49.66180 65.00000 55.00000 60.00000
## [15] 50.00000 60.00000
GradeBook %>%
mutate(PerF = (Final/30)*100) -> GradeBook
print(GradeBook$PerF)
## [1] 100.00000 86.66667 66.66667 83.33333 66.66667 59.28176 86.66667
## [8] 63.19701 66.66667 83.33333 86.66667 86.66667 60.00000 96.66667
## [15] 63.33333 93.33333
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.
GradeBook %>%
mutate(FinalGrade = (PerA1 + PerA2 + PerA3 + PerMT1 + PerMT2 + PerF)/600) -> GradeBook
print(GradeBook$FinalGrade)
## [1] 0.7026907 0.7740038 0.8470277 0.8084491 0.7762255 0.6654696 0.7921920
## [8] 0.7033221 0.8022314 0.6813869 0.7305667 0.8194444 0.7166667 0.7277778
## [15] 0.5722222 0.7305556
GradeBook %>%
mutate(
TotalEarned = Assignment1 + Assignment2 + Assignment3 + Midterm1 + Midterm2, Final,
TotalPossible = (10 + 10 + 10) + (20 + 20) + 30,
WeightedGrade = (TotalEarned / TotalPossible) * 100
) -> GradeBook
print(GradeBook$TotalEarned)
## [1] 45.66144 50.77596 64.15500 58.67361 53.40687 51.00000 54.72971 48.69354
## [9] 56.96722 48.54988 45.63351 52.00000 46.00000 47.00000 36.00000 46.00000
print(GradeBook$TotalPossible)
## [1] 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
After you have completed these calucations, take a look at the first 15 observations in your data set.
head(GradeBook, 15)
## Name Midterm1 Midterm2 Assignment1 Assignment2 Assignment3 Final
## 1 Noah 15.00000 12.00000 5.000000 8.000000 5.661442 30.00000
## 2 Jack 11.00478 15.00000 6.771172 10.000000 8.000000 26.00000
## 3 Emily 20.00000 20.00000 8.000000 8.000000 8.154995 20.00000
## 4 Colin 20.00000 17.00000 8.000000 5.000000 8.673615 25.00000
## 5 Hannah 10.00000 17.00000 6.802136 9.604730 10.000000 20.00000
## 6 Aubrie 20.00000 14.00000 5.000000 6.000000 6.000000 17.78453
## 7 Olivia 14.00000 17.72971 10.000000 7.000000 6.000000 26.00000
## 8 Duncan 9.62783 16.00000 7.000000 8.065708 8.000000 18.95910
## 9 Katie 19.00000 12.00000 9.000000 8.000000 8.967217 20.00000
## 10 Jackson 17.00000 15.00000 8.000000 6.000000 2.549882 25.00000
## 11 Victoria 11.00000 9.93236 8.000000 10.000000 6.701154 26.00000
## 12 Matthew 10.00000 13.00000 10.000000 9.000000 10.000000 26.00000
## 13 Michael 7.00000 11.00000 8.000000 10.000000 10.000000 18.00000
## 14 Olivia 14.00000 12.00000 6.000000 7.000000 8.000000 29.00000
## 15 Samantha 6.00000 10.00000 6.000000 8.000000 6.000000 19.00000
## PerA1 PerA2 PerA3 PerMT1 PerMT2 PerF FinalGrade
## 1 50.00000 80.00000 56.61442 75.00000 60.00000 100.00000 0.7026907
## 2 67.71172 100.00000 80.00000 55.02392 75.00000 86.66667 0.7740038
## 3 80.00000 80.00000 81.54995 100.00000 100.00000 66.66667 0.8470277
## 4 80.00000 50.00000 86.73615 100.00000 85.00000 83.33333 0.8084491
## 5 68.02136 96.04730 100.00000 50.00000 85.00000 66.66667 0.7762255
## 6 50.00000 60.00000 60.00000 100.00000 70.00000 59.28176 0.6654696
## 7 100.00000 70.00000 60.00000 70.00000 88.64856 86.66667 0.7921920
## 8 70.00000 80.65708 80.00000 48.13915 80.00000 63.19701 0.7033221
## 9 90.00000 80.00000 89.67217 95.00000 60.00000 66.66667 0.8022314
## 10 80.00000 60.00000 25.49882 85.00000 75.00000 83.33333 0.6813869
## 11 80.00000 100.00000 67.01154 55.00000 49.66180 86.66667 0.7305667
## 12 100.00000 90.00000 100.00000 50.00000 65.00000 86.66667 0.8194444
## 13 80.00000 100.00000 100.00000 35.00000 55.00000 60.00000 0.7166667
## 14 60.00000 70.00000 80.00000 70.00000 60.00000 96.66667 0.7277778
## 15 60.00000 80.00000 60.00000 30.00000 50.00000 63.33333 0.5722222
## TotalEarned TotalPossible WeightedGrade
## 1 45.66144 100 45.66144
## 2 50.77596 100 50.77596
## 3 64.15500 100 64.15500
## 4 58.67361 100 58.67361
## 5 53.40687 100 53.40687
## 6 51.00000 100 51.00000
## 7 54.72971 100 54.72971
## 8 48.69354 100 48.69354
## 9 56.96722 100 56.96722
## 10 48.54988 100 48.54988
## 11 45.63351 100 45.63351
## 12 52.00000 100 52.00000
## 13 46.00000 100 46.00000
## 14 47.00000 100 47.00000
## 15 36.00000 100 36.00000
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.
mean_PerMT1 <- mean(GradeBook$PerMT1)
print(mean_PerMT1)
## [1] 67.07269
mean_PerMT2 <-mean(GradeBook$PerMT2)
print(mean_PerMT2)
## [1] 69.8944
min_PerMT2 <- min(GradeBook$PerMT2)
print(min_PerMT2)
## [1] 49.6618
max_PerMT2 <- max(GradeBook$PerMT2)
print(max_PerMT2)
## [1] 100
mean_PerA1 <-mean(GradeBook$PerA1)
print(mean_PerA1)
## [1] 75.35832
mean_PerA2 <-mean(GradeBook$PerA2)
print(mean_PerA2)
## [1] 79.16902
mean_PerA3 <-mean(GradeBook$PerA3)
print(mean_PerA3)
## [1] 74.81769
min_PerA3 <- min(GradeBook$PerA3)
print(min_PerA3)
## [1] 25.49882
max_PerA3 <- max(GradeBook$PerA3)
print(max_PerA3)
## [1] 100
mean_PerF <-mean(GradeBook$PerF)
print(mean_PerF)
## [1] 78.07159
min_PerF <- min(GradeBook$PerF)
print(min_PerF)
## [1] 59.28176
max_PerF <- max(GradeBook$PerF)
print(max_PerF)
## [1] 100
In this section, insert chunks and produce the following objects that will contain values for each variable in the data set.
attendsum <- sapply(Attendance[ , c("Meeting1", "Meeting2", "Meeting3", "Meeting4", "Meeting5" )], sum)
attendmean <- sapply(Attendance[ , c("Meeting1", "Meeting2", "Meeting3", "Meeting4", "Meeting5" )], mean)
names(GradeBook)
## [1] "Name" "Midterm1" "Midterm2" "Assignment1"
## [5] "Assignment2" "Assignment3" "Final" "PerA1"
## [9] "PerA2" "PerA3" "PerMT1" "PerMT2"
## [13] "PerF" "FinalGrade" "TotalEarned" "TotalPossible"
## [17] "WeightedGrade"
gradebookmean <- sapply(GradeBook[, c("Assignment1", "Assignment2", "Assignment3", "Midterm1", "Midterm2", "Final")], mean)
view(gradebookmean)
gradebookmin <- sapply(GradeBook[, c("Assignment1", "Assignment2", "Assignment3", "Midterm1", "Midterm2", "Final")], min)
gradebookmax <- sapply(GradeBook[, c("Assignment1", "Assignment2", "Assignment3", "Midterm1", "Midterm2", "Final")], max)
In this section, insert chunks of code that will combine objects together.
AttendanceSummary <- rbind(attendsum, attendmean)
print(AttendanceSummary)
## Meeting1 Meeting2 Meeting3 Meeting4 Meeting5
## attendsum 13.0000 13.0000 12.00 14.000 15.0000
## attendmean 0.8125 0.8125 0.75 0.875 0.9375
GradeBookSummary <- rbind(gradebookmean, gradebookmin, gradebookmax)
print(GradeBookSummary)
## Assignment1 Assignment2 Assignment3 Midterm1 Midterm2 Final
## gradebookmean 7.535832 7.916902 7.481769 13.41454 13.97888 23.42148
## gradebookmin 5.000000 5.000000 2.549882 6.00000 9.93236 17.78453
## gradebookmax 10.000000 10.000000 10.000000 20.00000 20.00000 30.00000
In this section, insert a chunk of code to export the grade book data, the attendance data, the summary grade book, and the summary attendance as one Excel file. Make sure to name your data file something different than the Excel file that had the original data that you loaded into R for this assignment.
write.xlsx(AttendanceSummary, file = "AttendanceSummary.xlsx")
sheets<- list("Grades" = GradeBook,GradeBookSummary = "GradebookSummary", "Attendance" = Attendance, AttendanceSummary = "AttendanceSummary")
write.xlsx(sheets, file = "combined.xlsx")
Enter the names of anyone one that assisted you with completing this lab. If no one helped you complete the assignment, just type out that no one helped you
Kerryn office hours and ChatGPT.
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.
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.