forked from MelanieIStefan/lanalytics
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.Rmd
151 lines (131 loc) · 5.54 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```
# The documentation for the project is in: https://savrgg.github.io/lanalytics/
# lanalytics
## Overview
The lanalytics package provides tools to ease the analysis and visualization of online quizzes at three different levels: per quiz, per person and per course. Currently, the package can process the quizzes from csv files in the specified format. If the quizzes data is from any other software, is necessary to wrangle the dataset in the specified input format. In addition to the package, a [shiny dashboard](https://rstudio.github.io/shinydashboard/) was to visualize the plots with [ggviz](http://ggvis.rstudio.com/). (in future developtment)
## Installation
```{r, eval = FALSE}
# The lanalytics package is based in the tidyverse, so it is necesary to install this package:
install.packages("tidyverse")
# Also, if the Shiny Dashboard wants to be used, the following packages should be installed:
install.packages("shiny")
install.packages("shinydashboard")
install.packages("eRm")
install.packages("ggrepel")
install.packages("devtools")
install.packages("stringr")
install.packages("devtools")
install.packages("data.table")
and loaded
library(shiny)
library(shinydashboard)
library(eRm)
library(ggrepel)
library(devtools)
library(stringr)
library(devtools)
library(data.table)
```
## Getting started with the package
To use the dashboard, the following command should be executed:
```{r, eval = FALSE}
shiny::runGitHub(repo = "savrgg/lanalytics", subdir = "shinyapp/app.R")
also, the sample datasets can be used to test the package:
https://github.com/savrgg/lanalytics/tree/master/datasets/sample_dataset
```
<!-- # -->
<!-- # At per quiz level, -->
<!-- # -->
<!-- # It is especially designed to process the outputs from Learning Catalytics software and from Google Forms -->
<!-- # -->
<!-- # and functions and quizzes from three source of data. The first -->
<!-- # -->
<!-- # For each quiz, the package creates a quizz object -->
<!-- # -->
<!-- # For each course, the package creates a course object -->
<!-- # -->
<!-- # As an additional tool, -->
<!-- # -->
<!-- # Analysis of student data from quizzes -->
<!-- # -->
<!-- # Files: -->
<!-- # -->
<!-- # 1. parsequizzes.R -->
<!-- # -->
<!-- # - First data parsing step - this script is designed to be run exactly once at -->
<!-- # the beginning of the data analysis process -->
<!-- # - Takes xlsx file for each quiz as downloaded from Learning Catalytics -->
<!-- # - Assigns each student a unique random identifier -->
<!-- # - Creates 3 tables, all of which have one row per student ID, and one column per -->
<!-- # quiz question. Data in those tables are -->
<!-- # - Absolute time of answer -->
<!-- # - Content of answer -->
<!-- # - Correctness of answer (1 or 0) -->
<!-- # All three tables are saved into xlsx files -->
<!-- # - Creates an additional (confidential) table of student IDs and names, to be -->
<!-- # stored in a safe place -->
<!-- # -->
<!-- # -->
<!-- # 2. order_time.R -->
<!-- # -->
<!-- # - Depends on parsequizzes.R -->
<!-- # - Takes absolute time stamp data as computed using parsequizzes.R -->
<!-- # - For each quiz and each student, computes -->
<!-- # - the order in which questions were answered -->
<!-- # - the time it took to answer each question -->
<!-- # -->
<!-- # -->
<!-- # 3. easiness_time.R -->
<!-- # -->
<!-- # - Depends on order_time.R, parsequizzes.R -->
<!-- # - Takes time per question and correctness information -->
<!-- # - For each quiz question, compute -->
<!-- # - item easiness (% of sdtudents who g) -->
<!-- # - time to answeer item (median across all students) -->
<!-- # - scatter plots easiness vs time -->
<!-- # -->
<!-- # -->
<!-- # 4. guessers.R -->
<!-- # -->
<!-- # - Depends on order_time.R, parsequizzes.R -->
<!-- # - Assumes that the first two and last two questions of each quiz are easy -->
<!-- # (in our case, because they are about study style and preparaation) -->
<!-- # - Uses time for those easy question as a threshold (i.e. fastest possible) -->
<!-- # - Computes questions answered below this threshold and classifies them as -->
<!-- # - cheating, if the answer was correct -->
<!-- # - guessing, if the answer was wrong -->
<!-- # - Plots overall occurence of guessing and cheating across quizzes and students -->
<!-- # -->
<!-- # 5. easiness_time_level.R -->
<!-- # -->
<!-- # - Depends on easiness_time.R -->
<!-- # - Also depends on a rating of cognitive level for each question (as provided by -->
<!-- # the instructor, 1=low, 3=high) -->
<!-- # - Plots scatter plot of easiness vs time, colour-coded by cognitive level -->
<!-- # -->
<!-- # 6. easiness_time_level_two_years.R -->
<!-- # -->
<!-- # - Depends on easiness_time.R -->
<!-- # - Also depends on a rating of cognitive level for each question (as provided by -->
<!-- # the instructor, 1=low, 3=high) -->
<!-- # - Does the same as easiness_time_level.R, but for two successive years -->
<!-- # - Plots data from both years side-by-side -->
<!-- # -->
<!-- # 7. import_time_easiness.R -->
<!-- # -->
<!-- # - Now obsolete! -->
<!-- # - Helper script to import data from excel for further processing -->
<!-- # - Written in order to be able to use earlier data we processed in MATLAB -->
<!-- # - Not part of the analysis workflow if everything is done in lanalytics -->
<!-- # -->
<!-- # 8. small change -->