Using xake data.

Downloading Data

You can download the data from your students’ work using the xake data command.

To download the data, run xake data download. This will save your data as a file.

Viewing and Exporting Data

To see your data, you can run either xake data csv to access a csv version of the data, or xake data json to access a json version. The json version contains much more material.

To save the output as a file, use e.g. xake data json > myData.json.

Analyzing Data

Analyzing these data can be difficult because there is so much. If you use R for analysis, the jsonlite package will import the xake data export into a data frame.

Before loading the json file, open it in a text editor. You will see ”This is xake, Version 0.9.2” at the beginning with a line break. Delete these so a square bracket is the first line. On the last line, there will be a last comma that needs to be deleted before the final square bracket. Delete this and save the file.

If your data has been saved as myData.json, you can use myData <- fromJSON("myData.json", flatten=TRUE) to save the data as a dataframe.


The most relevant variables for analysis are:

  • actor: identifies the person until the session has ended. A person may have multiple actor codes depending on whether they have logged it or not, or used different computer, etc.
  • stored: the time when the entry occurred. Timestamp is based on the user’s computer, and maybe or off by hours depending on how their computer is set up. stored is a better choice for the time
  • verb.display.en-US: the verb for what was happening at that record
    • experienced: a page loaded
    • answered: a question was answered
    • completed: something was completed (not sure what qualifies here)
    • played: a video was played
    • watched: a video was watched from some time to another time
    • skipped: a video was skipped from one time to another time (after being paused)
  • the name of the page loaded
  • result.response: whatever was entered into an answer box
  • result.success: if the question is graded, this is TRUE if that answer was correct and FALSE if the answer was incorrect.