knitr::opts_chunk$set(eval = FALSE)
The goal of rcanvas is to get student and course data as simply as possible. Towards that end,
there are three core functions: (1) get_course_list()
; (2) get_course_items()
; and (3) get_course_analytics_data()
.
You can obtain a complete listing of your courses with a simple call to get_course_list()
:
library(rcanvas) courses <- get_course_list() names(courses)
If you want the courses for a specific student, specify the user's id with the optional user_id
argument:
get_course_list(user_id = 344)
If you know the id number of a particular course, you can get a variety of data with calls to get_course_items()
:
course <- get_course_items(course_id = 20, item = "enrollments") names(course)
Other items include "settings", "discussion_topics", "todo", "enrollments", "features", "files", "modules", "front_page", "pages", "quizzes", etc.
You can get course analytics data on four "types": "assignments", "users", "activity", or "student_summaries":
x <- get_course_analytics_data(20, "activity") names(x)
Here's an example that interested us: the relationship between student activity and grades in a cohort of our Core Premium students:
library(dplyr) library(purrr) library(ggplot2) premium_course_ids <- get_course_list() %>% mutate(premium = if_else(grepl("Premium", name), "premium", "not premium")) %>% filter(premium == "premium") %>% .$id student_data <- premium_course_ids %>% map(get_course_items, "enrollments") %>% map(filter, role == "StudentEnrollment") %>% map(select, dplyr::contains("current_score"), dplyr::contains("total_activity_time")) %>% map_df(bind_rows) ggplot(student_data, aes(grades.current_score, log(total_activity_time))) + geom_point() + geom_smooth(method = "lm")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.