Author

B. Brossette

Librairies Loading
#clean the environment
rm(list = ls())

#Libraries
library(readr)
library(stringr)
library(plyr)
library(dplyr)
library(tidyverse)
library(lme4)
library(car)
library(emmeans)
library(ggthemes)
library(data.table)
library(corrplot)
library(Hmisc)
library(lavaan)
library(lavaanPlot)
library(semPlot)
library(effectsize)
library(chron)
library(knitr)

0.1 Préparation des données

Code
#Formatting activity rows data.
activity <- read_delim("../src/home_literacy/activity_student_record.csv", 
    delim = ";", escape_double = FALSE, trim_ws = TRUE)

activity <- activity %>% mutate(uid = str_sub(user.__ref__,str_locate(user.__ref__, "/")[1]+1))

activity <- activity %>% 
  mutate(day = as.Date( str_sub(date,1, str_locate(date, " ")[1]-1), format="%Y-%m-%d"),
                                hour = times(str_sub(date, str_locate(date, " ")[1]+1)))

activity <- activity %>% mutate(length = (duration/1000)/60) %>% mutate(length = format(length, scientific = FALSE))

activity <- activity %>% select(uid, day, hour, length, activity_type, concentration, difficulty, interaction, perceived_time, pleasure)

#Formatting users rows data. 
users <- read_delim("../src/home_literacy/users_list.csv", 
    delim = ";", escape_double = FALSE, trim_ws = TRUE)

users <- users %>% select(uid,user_category, email, grade, school, teacher_name)

#Jointure
df <- activity %>% left_join(users, by = "uid")

#Delete teacher records AND test records
df <- df %>% filter(school!="TEST_SCHOOL")
df <- df %>% filter(user_category!="T")

1 Statistiques générales

  • Nombre d’activités enregistrées : 143
  • Durée d’une activité (en min) : M = 31.0699913 ; MED = 11.5424667 ; SD = 121.9855962
  • Nombre d’utilisateurs actifs : 23
Code
describe <- df %>% 
                    group_by(grade,uid) %>%  
                    summarise(nb_act = n(), 
                              first_activity = min(day), 
                              last_activity = max(day),
                              period_activity = last_activity - first_activity, 
                              mean_duration = mean(as.numeric(length)),
                              shortest = min(as.numeric(length)), 
                              longest = max(as.numeric(length)))

kable(describe[order(describe$period_activity, decreasing=TRUE),])
grade uid nb_act first_activity last_activity period_activity mean_duration shortest longest
CP C6Q0SQrleUe92Saf1s2KK2CvEeZ2 19 2023-11-15 2023-12-18 33 days 98.621890 5.9474000 1446.305517
CP dQcZcdBz7lPRYo3RiqwvBw2J9Iu1 21 2023-11-15 2023-12-14 29 days 8.267242 0.6165833 27.624100
CE1 x5gBMzUCBRVrxxNbcWoZBVxCkjZ2 14 2023-11-12 2023-12-10 28 days 56.396987 9.3134833 134.812567
CE2 64C4JIfys3SvfYY1LINF3Y1jqHe2 13 2023-11-24 2023-12-21 27 days 10.594285 2.7558333 19.263567
CE1 K3qRIZk7VFXrMQEhC9g9iLHrQes2 4 2023-11-12 2023-12-07 25 days 6.750567 4.9421833 9.124517
CM1 j37NtPwaMkfLJDbyhH0vSKCoAiq2 11 2023-11-28 2023-12-21 23 days 9.649108 3.7416667 16.595667
CP sKl6CGYvPyc7TY4z3PA2UXyc0DE2 8 2023-11-18 2023-12-11 23 days 8.738710 1.0938833 18.114350
CE2 bf7S70RAmCUURocI4L4m0Sm9pJ32 11 2023-12-02 2023-12-21 19 days 16.945930 4.9343500 38.309533
CM2 qtHNvWpxQjOpQVePyxy7p4sbkdo2 5 2023-12-03 2023-12-21 18 days 44.995027 35.6085333 52.576150
CE1 dssCPSA4tAaFpbMUmytzzJnqukG3 9 2023-11-12 2023-11-27 15 days 48.655326 13.9418667 77.961767
CM1 N5KAn0UJaLOV502R6bAeyHDdnRH2 6 2023-12-03 2023-12-11 8 days 29.692733 8.5788667 64.906167
CE1 YkuMsNO5mmVZ5dFkjHNwXtWHrbf2 2 2023-11-12 2023-11-18 6 days 2.157208 1.0649667 3.249450
CP NNvb2mgNFHdZlngSCTJp1Q1KCfB2 4 2023-12-13 2023-12-18 5 days 25.131267 9.2399333 41.042383
CE2 0Fd77PUOxzd2y3fl6hiZufejsV93 3 2023-12-15 2023-12-19 4 days 14.526761 4.8001500 28.193633
CP Bf3uOkYg0jSztwprxAwzLZjKHLB2 2 2023-12-13 2023-12-17 4 days 4.026358 3.5307833 4.521933
CE1 iVckzmD1rzNXMzQzEvzV91tCXWF2 2 2023-12-14 2023-12-16 2 days 7.760517 6.9427167 8.578317
CP A8BE7vxAXUOG1xuCMpb9KEkJwLI3 2 2023-11-22 2023-11-23 1 days 12.322933 8.3208000 16.325067
CE2 FyViaX9J6seW0bb8A8USGsWEcqW2 1 2023-12-15 2023-12-15 0 days 2.354583 2.3545833 2.354583
CM1 ybFagbpHHeUn9bYuftz6SlULcDK2 1 2023-12-19 2023-12-19 0 days 7.839317 7.8393167 7.839317
CM2 8on40nTmo2gFBxh1Z5sR7nfEuVq2 1 2023-11-28 2023-11-28 0 days 4.687517 4.6875167 4.687517
CM2 p7fTNPA4MrMplzX9BbWVy90z0nw2 1 2023-12-18 2023-12-18 0 days 16.059967 16.0599667 16.059967
CP kY9LzoCXPwPwjl22ypzpozMWiA02 1 2023-12-15 2023-12-15 0 days 1.054133 1.0541333 1.054133
CP zZuHqAnYU3VIRiJaM6FWJ7vaK4n2 2 2023-12-24 2023-12-24 0 days 4.587750 2.3443500 6.831150