knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
A high-level, ready-to-use R package for quiz & questions analysis of Moodle Grades Report
You can install the development version of moodleStats from GitHub with:
# install.packages("remotes") remotes::install_github("Lightbridge-KS/moodleStats")
The goal of this package it to provide a high-level functions for analysis of Moodle Grades Report such as calculation of descriptive statistics for quiz & questions, and performing an item analysis.
library(moodleStats)
Read Moodle Grades Report from .csv
file into a Data Frame.
grades_df <- readr::read_csv(moodleStats_example("grades_report.csv"))
head(grades_df)
Cleaning and filtering data can be done in 1 step using prep_grades_report()
grades_df_preped <- prep_grades_report(grades_df, choose_state = "Finished", # 1. choose only "Finished" attempt choose_grade = "max", # 2. choose only the best score of each student choose_time = "first" # 3. choose the first time that student submitted ) head(grades_df_preped)
Show quiz metadata such as maximum settings of quiz and questions by quiz_meta()
quiz_meta(grades_df_preped)
summary_quiz()
calculates various quiz summary statistics, and combine it into 1 row data frame.
quiz_report_df <- summary_quiz(grades_df_preped) quiz_report_df
summary_questions()
calculates various question summary statistics and item analysis into a data frame.
question_report_df <- summary_questions(grades_df_preped)
Here is summary statistics for each questions.
question_report_df %>% dplyr::select(Questions:SD)
And, here is an item analysis for Moodle Grades Report.
Difficulty_Index
is for Item Difficulty Index (p), a measure of the proportion of examinees who answered the item correctly.Discrimination_Index
is for Item Discrimination Index (r), a pairwise point-biserial correlation between the score of each questions and total score of the quiz.question_report_df %>% dplyr::select(Questions, Difficulty_Index:p.value)
Last updated: r format(Sys.time(), '%d %B %Y')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.