Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
IDEA-COVID-StudySafe/read_wapData.R
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
106 lines (88 sloc)
6.95 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Reading in the data and necessary libraries and data for RPI StudySafe App | |
#Created by Kara Kniss | |
################################################################################################################ | |
#READING IN THE NECESSARY LIBRARIES | |
################################################################################################################ | |
library(shiny) | |
library(shinydashboard) | |
library(shinyjs) | |
library(ggplot2) | |
library(shinyWidgets) | |
library(tidyverse) | |
library(tidyr) | |
library(lubridate) | |
library(plyr) | |
library(scales) | |
library(zoo) | |
library(ggalt) | |
library(leaflet) | |
library(plotly) | |
library(wesanderson) | |
library(reactable) | |
################################################################################################################ | |
###READING IN NECESSARY FILES | |
################################################################################################################ | |
#rpi_wap_raw: Min_30, devname, maccount, usercount, datetime, date_time, Date, Building, Floor, Room, latitude, longitude, buldingType, abbrev, time | |
rpi_wap_raw <- readRDS("../../COVID_RPI_WiFi_Data/rpi_wap_raw.rds") | |
#combined_wap_data: building, time, Date, latitude, longitude, buildingType, abbrev, users, macs, | |
combined_wap_data <- readRDS("../../COVID_RPI_WiFi_Data/combined_wap_data.rds") | |
#rpi_wap_stats: devname, Day, maccount_mean, maccount_med, maccount_max, usrecount_mean, usercount_med, usercount_max | |
rpi_wap_stats <- readRDS("../../COVID_RPI_WiFi_Data/rpi_wifi_semester_day_summary.rds") | |
#rpi_wap_week: devname, maccount, usercount, datetime, date_time, Date, Day | |
rpi_wap_week <- readRDS("../../COVID_RPI_WiFi_Data/rpi_wifi_semester_extended.rds") | |
#buildinginfo: Building, latitude, longitude, buildingType, abbrev | |
#buildinginfo <- readRDS("../../COVID_RPI_WiFi_Data/buildinginfo.rds") | |
################################################################################################################ | |
###CLEANING DATA | |
################################################################################################################ | |
#rpi_wap_raw: devname, users, Date, Building, Hour, lat, lng, BuildingType | |
rpi_wap_raw <- rpi_wap_raw %>% mutate(Hour = hour(as.POSIXct(time))) %>% select(devname, usercount, Date, Building, Hour, latitude, longitude, buildingType) | |
colnames(rpi_wap_raw) <- c('devname', 'users', 'Date', 'Building', 'Hour', 'lat', 'lng', 'BuildingType') | |
#combined_wap_data: Building, Hour, lat, lng, BuildingType | |
rpi_wap_last7 <- combined_wap_data %>% mutate(Hour = hour(as.POSIXct(time))) %>% select(Building, users, Date, Building, Hour, latitude, longitude, buildingType) | |
rpi_wap_last7 <- rpi_wap_last7 %>% group_by(Building, Date, Hour, latitude, longitude, buildingType) %>% summarise_all(funs(max)) %>% ungroup() | |
colnames(rpi_wap_last7) <- c('Building', 'Date', 'Hour','lat','lng', 'BuildingType', 'users' ) | |
#Building Tagging, Use Later for whatever categories we have | |
#combined_wap_data$BuildingType <- '' | |
#combined_wap_data[combined_wap_data$Building %in% Academic == TRUE, ]$BuildingType <- 'Academic' | |
#combined_wap_data[combined_wap_data$Building %in% Greek == TRUE, ]$BuildingType <- 'Greek' | |
#combined_wap_data[combined_wap_data$Building %in% Housing == TRUE, ]$BuildingType <- 'Housing' | |
#combined_wap_data[combined_wap_data$Building %in% OtherOnCampus == TRUE, ]$BuildingType <- 'OtherOnCampus' | |
#combined_wap_data[combined_wap_data$Building %in% OtherOffCampus == TRUE, ]$BuildingType <- 'OtherOffCampus' | |
#bldgs(getting buildings to append to devnames): devname, Building | |
bldgs <- rpi_wap_raw %>% filter(Date == min(rpi_wap_last7$Date)+1) %>% filter(Hour==12) %>% select(devname, Building) | |
# hits_per_wap_semester_by_building_max(getting maximum number of users for each building): Building, capacity | |
hits_per_wap_semester_by_building_max <- merge(rpi_wap_stats, bldgs, by.x= "devname", by.y="devname") | |
hits_per_wap_semester_by_building_max <- hits_per_wap_semester_by_building_max %>% group_by(devname, Building, Day) %>% summarise_all(funs(max)) %>% ungroup() %>% select(devname, Day, usercount_max, Building) | |
hits_per_wap_semester_by_building_max <- hits_per_wap_semester_by_building_max[,2:ncol(hits_per_wap_semester_by_building_max)] | |
hits_per_wap_semester_by_building_max <- hits_per_wap_semester_by_building_max %>% group_by(Building, Day) %>% summarise_all(funs(sum)) %>% ungroup() | |
hits_per_wap_semester_by_building_max <- hits_per_wap_semester_by_building_max %>% group_by(Building) %>% summarise_all(funs(max)) %>% ungroup() %>% select(Building, usercount_max) | |
colnames(hits_per_wap_semester_by_building_max) <- c('Building', 'capacity') | |
################################################################################################################ | |
## DEFININING LISTS AND DATA FRAMES FOR CONVENIENCE | |
################################################################################################################ | |
#Possible tagging for later | |
#placesOfInterest <- c('CII', 'DCC', 'Folsom Library', 'Rensselaer Union', 'Voorhees Computing Center') | |
#placesOfWellness <- c('ASRC', 'ECAV arena', 'ECAV stadium', 'Houston Field House', 'Fitness Center', '87 Gym', 'Robison Pool') | |
#placesOfDeliciousness <- c('Moes, College Ave', 'Commons Dining Hall', 'Russell Sage Dining Hall') | |
#BuildingTypes <- c('Academic','Housing','placesOfInterest', 'placesOfWellness', 'placesOfDeliciousness', 'Greek', 'OtherOnCampus', 'OtherOffCampus') | |
#creating a time list for the graphs so they aren't in military time | |
time <- list('12:00am'= 0,'1:00am'=1, '2:00am'=2, '3:00am'=3, '4:00am'=4, '5:00am'=5, '6:00am'=6, '7:00am'=7, '8:00am'=8, '9:00am'=9, '10:00am'=10, "11:00am"=11, "12:00pm"=12, "1:00pm"=13, "2:00pm"=14, "3:00pm"=15, "4:00pm"=16, "5:00pm"=17, "6:00pm"=18, "7:00pm"=19, "8:00pm"=20, "9:00pm"=21,"10:00pm"=22, "11:00pm"=23) | |
Time_num <- c(0:23) | |
Time_AMPM <- c('12am', '1am', '2am', '3am', '4am', '5am', '6am', '7am', '8am', '9am', '10am', '11am', '12pm', '1pm', '2pm','3pm', '4pm', '5pm', '6pm', '7pm', '8pm', '9pm', '10pm', '11pm' ) | |
Time_noLabel <- c(12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11) | |
time.data <- data.frame(Time_num, Time_AMPM, Time_noLabel, stringsAsFactors=FALSE) | |
#defining the max date and min date info | |
min_date <- min(rpi_wap_last7$Date) | |
max_date <- max(rpi_wap_last7$Date) | |
max_time_of_max_date <- max(rpi_wap_last7[rpi_wap_last7$Date == max(rpi_wap_last7$Date),]$Hour)+1 | |
min_time_of_min_date <- min(rpi_wap_last7[rpi_wap_last7$Date == min(rpi_wap_last7$Date),]$Hour)+1 | |
#weekday information | |
#getting selected weekday | |
day <- c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ) | |
dayVal<- c(1,2,3,4,5,6,7) | |
weekpair <- data.frame(day,dayVal, stringsAsFactors=FALSE) | |
#weekly3_stats(Getting average devname users of the last three weeks by day): devname, Day, Hour, users | |
weekly3_stats <- rpi_wap_week %>% filter(Date >= min(rpi_wap_last7$Date)-21) %>% mutate(Hour = hour(as.POSIXct(date_time))) | |
weekly3_stats <- weekly3_stats %>% select(devname, usercount, Day, Hour) %>% group_by(devname, Day, Hour) %>% summarise_all(funs(max)) %>% ungroup() | |
colnames(weekly3_stats) <- c('devname', 'Day', 'Hour', 'users') | |