### Some example solutions for Free Response Question on Test 2 # (a) library(readr) class_scores <- readr::read_csv(file="Z:/My_Documents/teaching/stat_220/classresults.csv", col_names = F) #or class_scores <- read.csv(file="Z:/My_Documents/teaching/stat_220/classresults.csv", header = F) names(class_scores) <- c('name', 'major', 't1grade', 't1date', 't2grade', 't2date') library(lubridate) # (b) class_scores %>% mutate( conv_t1date = ymd(t1date), conv_t2date = ymd(t2date) ) # or: conv_t1date = ymd(t1date); conv_t2date = ymd(t2date) # Just to check: # str(conv_t2date) # t2date-t1date # won't work conv_t2date-conv_t1date # Does 'interval' work? # doesn't quite work because this is a vector... #interval(class_scores$conv_t2date,class_scores$conv_t1date)/ddays(1) interval(conv_t2date[1],conv_t1date[1])/ddays(1) #works one element at a time... would need to 'map' or 'apply' to handle iteration mean(today()-conv_t2date) #(c) str(class_scores) # or glimpse(class_scores) #or summary(class_scores) #(d) test_plot <- ggplot(class_scores,aes(x=t1grade,y=t2grade,color=major)) + geom_point() library(gganimate) library(transformr) test_animation <- test_plot + transition_states(major) animate(test_animation)