library(dplyr)
## Warning: package 'dplyr' was built under R version 3.6.2
## 
## 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(readr)
## Warning: package 'readr' was built under R version 3.6.2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.6.2
dataset<-read_csv("/Users/rebeccagibble/Downloads/Fall 2020 VOH Log (Responses) csv.csv")
## 
## ── Column specification ────────────────────────────────────────────────────────
## cols(
##   Timestamp = col_character(),
##   Name = col_character(),
##   Hour = col_character(),
##   Student = col_character(),
##   ID = col_character(),
##   Type = col_character(),
##   Concern = col_character(),
##   Outcome = col_character()
## )
name<-read_csv("/Users/rebeccagibble/Downloads/1,0 Name.csv")
## 
## ── Column specification ────────────────────────────────────────────────────────
## cols(
##   Timestamp = col_character(),
##   Name = col_character(),
##   Hour = col_character(),
##   Student = col_double(),
##   ID = col_character(),
##   Type = col_character(),
##   Concern = col_character(),
##   Outcome = col_character()
## )
updated<-read_csv("/Users/rebeccagibble/Downloads/VOH CSV.csv")
## 
## ── Column specification ────────────────────────────────────────────────────────
## cols(
##   Timestamp = col_character(),
##   Name = col_character(),
##   Hour = col_character(),
##   Student = col_character(),
##   ID = col_character(),
##   Grade = col_character(),
##   Concerns = col_character(),
##   Outcome = col_character()
## )
student0<-read_csv("/Users/rebeccagibble/Downloads/student0.csv")
## 
## ── Column specification ────────────────────────────────────────────────────────
## cols(
##   Timestamp = col_character(),
##   Name = col_character(),
##   Hour = col_character(),
##   Student0 = col_double()
## )
week<-read_csv("/Users/rebeccagibble/Downloads/weeksupdated.csv")
## 
## ── Column specification ────────────────────────────────────────────────────────
## cols(
##   Timestamp = col_character(),
##   Name = col_character(),
##   Hour = col_character(),
##   Student0 = col_double(),
##   Number = col_double()
## )
type<-read_csv("/Users/rebeccagibble/Downloads/Concern.csv")
## 
## ── Column specification ────────────────────────────────────────────────────────
## cols(
##   Timestamp = col_character(),
##   `Your Name` = col_character(),
##   `Your Office Hour` = col_character(),
##   `Student Name` = col_character(),
##   `CUNY ID#` = col_character(),
##   `Student Type` = col_character(),
##   `Student Concerns` = col_character()
## )

Fall 2020 Virtual Office Hour Logs

In Fall of 2020, we had 381 logged office hours (in the response sheet).

Out of these logs, we saw 115 students and 1 professor, however, 122 office hours were logged as having a student visit (in total).

There is a discrepancy between 115 and 122 because those who stayed for more than one office hour were only counted once in student count.

Frequency per office hour

newname1<-name%>%
  select(Hour,Student)

name2<-aggregate(x = newname1$Student,               
          by = list(newname1$Hour),              
          FUN = sum)

name2[with(name2, order(-x)), ]
##                  Group.1  x
## 3     Friday 11:00-12:00 13
## 18    Thursday 3:00-4:00 13
## 30   Wednesday 3:00-4:00 11
## 9     Monday 11:00-12:00  6
## 2     Friday 10:00-11:00  5
## 13    Thursday 1:00-2:00  5
## 15  Thursday 11:00-12:00  5
## 21   Tuesday 11:00-12:00  5
## 25   Wednesday 1:00-2:00  5
## 10     Monday 12:00-1:00  4
## 16   Thursday 12:00-1:00  4
## 17    Thursday 2:00-3:00  4
## 4      Friday 12:00-1:00  3
## 7       Monday 1:00-2:00  3
## 8     Monday 10:00-11:00  3
## 23     Tuesday 2:00-3:00  3
## 24     Tuesday 3:00-4:00  3
## 27 Wednesday 11:00-12:00  3
## 11      Monday 2:00-3:00  2
## 12      Monday 3:00-4:00  2
## 14  Thursday 10:00-11:00  2
## 19     Tuesday 1:00-2:00  2
## 20   Tuesday 10:00-11:00  2
## 26 Wednesday 10:00-11:00  2
## 28  Wednesday 12:00-1:00  2
## 1       Friday 1:00-2:00  1
## 5       Friday 2:00-3:00  1
## 22    Tuesday 12:00-1:00  1
## 6       Friday 3:00-4:00  0
## 29   Wednesday 2:00-3:00  0
my_data <- as_tibble(name2)
my_data
## # A tibble: 30 x 2
##    Group.1                x
##    <chr>              <dbl>
##  1 Friday 1:00-2:00       1
##  2 Friday 10:00-11:00     5
##  3 Friday 11:00-12:00    13
##  4 Friday 12:00-1:00      3
##  5 Friday 2:00-3:00       1
##  6 Friday 3:00-4:00       0
##  7 Monday 1:00-2:00       3
##  8 Monday 10:00-11:00     3
##  9 Monday 11:00-12:00     6
## 10 Monday 12:00-1:00      4
## # … with 20 more rows
colnames(my_data)
## [1] "Group.1" "x"
names(my_data)[names(my_data) == "Group.1"] <- "Hour"
names(my_data)[names(my_data) == "x"] <- "Frequency"

my_data[with(my_data, order(-Frequency)), ]
## # A tibble: 30 x 2
##    Hour                 Frequency
##    <chr>                    <dbl>
##  1 Friday 11:00-12:00          13
##  2 Thursday 3:00-4:00          13
##  3 Wednesday 3:00-4:00         11
##  4 Monday 11:00-12:00           6
##  5 Friday 10:00-11:00           5
##  6 Thursday 1:00-2:00           5
##  7 Thursday 11:00-12:00         5
##  8 Tuesday 11:00-12:00          5
##  9 Wednesday 1:00-2:00          5
## 10 Monday 12:00-1:00            4
## # … with 20 more rows

Bar Chart

ggplot(my_data, aes(x = reorder(Hour,+Frequency), y = Frequency)) +
  coord_flip()+
    geom_bar(stat = "identity")

Frequency per mentor

newname2<-student0%>%
  select(Name,Student0)

name4<-aggregate(x = newname2$Student0,               
          by = list(newname2$Name),              
          FUN = sum)

name4[with(name4, order(-x)), ]
##                Group.1 x
## 2        Ashley Simons 8
## 5        Chloe Sweeney 7
## 14     Joseph Horowitz 6
## 7       Emily Scarpati 5
## 22   Reubena Kaidanian 5
## 3         Atika Fariha 4
## 12         Jia Ming Li 4
## 19     Marissa Soomdat 4
## 20      Nava Moskowitz 4
## 27       Sarah Persaud 4
## 1         Anlisa Outar 3
## 6      Clementina Jose 3
## 10   Geraldine Giraldo 3
## 11       Jared Willner 3
## 15        Joya Pariyal 3
## 17       Kelly Herrera 3
## 4       Brianna Sesson 2
## 9        Faith Oyebola 2
## 13  Jonathan Rosenfeld 2
## 18        Lynn Fortune 2
## 24         Sabah Ahsan 2
## 26    Samantha Mohamed 2
## 28    Sneha Sara Vinod 2
## 29     Trystan Gardner 2
## 30         Uzaiza Khan 2
## 8      Etan Ohevshalom 1
## 16 Katherine Ramnarine 1
## 21      Rebecca Spilky 1
## 23   Riyahauna Headley 1
## 25         Salma Razak 1
my_data1 <- as_tibble(name4)

colnames(my_data1)
## [1] "Group.1" "x"
names(my_data1)[names(my_data1) == "Group.1"] <- "Mentor"
names(my_data1)[names(my_data1) == "x"] <- "Frequency"

my_data1[with(my_data1, order(-Frequency)), ]
## # A tibble: 30 x 2
##    Mentor            Frequency
##    <chr>                 <dbl>
##  1 Ashley Simons             8
##  2 Chloe Sweeney             7
##  3 Joseph Horowitz           6
##  4 Emily Scarpati            5
##  5 Reubena Kaidanian         5
##  6 Atika Fariha              4
##  7 Jia Ming Li               4
##  8 Marissa Soomdat           4
##  9 Nava Moskowitz            4
## 10 Sarah Persaud             4
## # … with 20 more rows

Bar chart

ggplot(my_data1, aes(x = reorder(Mentor,+Frequency), y = Frequency)) +
  coord_flip()+
    geom_bar(stat = "identity")

### Frequency per week

weeks<-week%>%
  select(Number,Student0)

weeks1<-aggregate(x = weeks$Student0,               
          by = list(weeks$Number),              
          FUN = sum)

weeks1[with(weeks1, order(-x)), ]
##    Group.1  x
## 11      11 24
## 4        4 17
## 7        7 16
## 12      12 10
## 13      13  8
## 10      10  7
## 16      16  7
## 5        5  5
## 2        2  4
## 6        6  4
## 8        8  4
## 9        9  4
## 15      15  4
## 14      14  3
## 1        1  2
## 3        3  2
my_data3 <- as_tibble(weeks1)
my_data3
## # A tibble: 16 x 2
##    Group.1     x
##      <dbl> <dbl>
##  1       1     2
##  2       2     4
##  3       3     2
##  4       4    17
##  5       5     5
##  6       6     4
##  7       7    16
##  8       8     4
##  9       9     4
## 10      10     7
## 11      11    24
## 12      12    10
## 13      13     8
## 14      14     3
## 15      15     4
## 16      16     7
colnames(my_data3)
## [1] "Group.1" "x"
names(my_data3)[names(my_data3) == "Group.1"] <- "Week"
names(my_data3)[names(my_data3) == "x"] <- "Frequency"

sort(my_data3$Week, decreasing=TRUE)
##  [1] 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1
my_data3
## # A tibble: 16 x 2
##     Week Frequency
##    <dbl>     <dbl>
##  1     1         2
##  2     2         4
##  3     3         2
##  4     4        17
##  5     5         5
##  6     6         4
##  7     7        16
##  8     8         4
##  9     9         4
## 10    10         7
## 11    11        24
## 12    12        10
## 13    13         8
## 14    14         3
## 15    15         4
## 16    16         7

Bar chart

ggplot(my_data3, aes(x = Week, y = Frequency)) +
    geom_bar(stat = "identity")

### Mean students per week #### 115 students throughout the semester, 16 weeks of VOH

115/16
## [1] 7.1875

Mean students per office hour

7.1875 students per week on average, 28 office hours per week

7.1875/28
## [1] 0.2566964

Breakdown of student types in numbers

table(type$`Student Type`)
## 
##    Freshman High school High School   Professor      Senior    Transfer 
##         108           1           1           1           1           3 
##     Unknown 
##           1

Breakdown of student types in percentages

table(type$`Student Type`)%>%
  prop.table()%>%
  round(2)
## 
##    Freshman High school High School   Professor      Senior    Transfer 
##        0.93        0.01        0.01        0.01        0.01        0.03 
##     Unknown 
##        0.01

Breakdown of what student concerns in numbers

concern1<-table(type$`Student Concerns`)
concern1
## 
##             Academic Planning               Assignment help 
##                            60                             2 
##         Asynchronous Learning                   DegreeWorks 
##                             1                             2 
##               Finals Campaign Financial Aid/Tuition Payment 
##                             1                             6 
##            General Advisement                   Internships 
##                            22                             4 
##                    Major Info      Other (Wrong Department) 
##                             4                             4 
##                        Resume                      Schedule 
##                             3                            13 
##      Time Management Campaign 
##                             2

Breakdown of student concerns in percentages

table(type$`Student Concerns`)%>%
  prop.table()%>%
  round(2)
## 
##             Academic Planning               Assignment help 
##                          0.48                          0.02 
##         Asynchronous Learning                   DegreeWorks 
##                          0.01                          0.02 
##               Finals Campaign Financial Aid/Tuition Payment 
##                          0.01                          0.05 
##            General Advisement                   Internships 
##                          0.18                          0.03 
##                    Major Info      Other (Wrong Department) 
##                          0.03                          0.03 
##                        Resume                      Schedule 
##                          0.02                          0.10 
##      Time Management Campaign 
##                          0.02

Bar chart

barplot(concern1)