data<-read.csv("/Users/samanthabouwmeester/Documents/CWTL/merged_data_all.csv")
data$Attendance<-rowSums(data[,which(substring(colnames(data),1,4)=="week")],na.rm = TRUE)
data$Attendance_dich=1
data$Attendance_dich[data$Attendance<21*5*.8]=0
# Missings values
#baseline num
bas.num<-data[,c("total_nid","total_qds","total_mis","total_add","total_sub","total_prb")]
#Are there any missings values?
any(is.na(rowSums(bas.num)))
## [1] FALSE
# FALSE, so no missing values
#baseline lit
bas.lit<-data[,c("total_lid","total_pho","total_muw","total_non","total_com","total_lis","total_wrt","read_1","read_2")]
bas.lit$read_2[is.na(bas.lit$read_2)]=bas.lit$read_1[is.na(bas.lit$read_2)]
bas.lit$read_1[is.na(bas.lit$read_1)]=0 #One Na in read1 has to be 0.
# Are there any missings values?
any(is.na(rowSums(bas.lit)))
## [1] FALSE
# FALSE, so no missing values
#endline num
end.num<-data[,c("total_nid_end","total_qds_end","total_mis_end","total_add_end","total_sub_end","total_prb_end")]
# Are there any missings values?
any(is.na(rowSums(end.num)))
## [1] TRUE
# TRUE, so missing values: multiple imputation
mis.number=rep(NA,7)
for(i in 1:ncol(end.num))
mis.number[i]=length(which(is.na(end.num[,i])))
mis.number
## [1] 69 69 69 69 69 69 NA
# 69 participants miss the endline data for numericy all tasks. This is 69/1507=.046, 4.6%
# These endline scores were imputed.
scores.mice<-mice(end.num,print=FALSE)
end.num.MI<-complete(scores.mice)
data[,c("total_nid_end","total_qds_end","total_mis_end","total_add_end","total_sub_end","total_prb_end")]=end.num.MI
#check
end.num<-data[,c("total_nid_end","total_qds_end","total_mis_end","total_add_end","total_sub_end","total_prb_end")]
any(is.na(rowSums(end.num)))
## [1] FALSE
# no missings anymore
### total scores
totals.num_perc_bas<-data.frame(data$total_nid/15,
data$total_qds/10,
data$total_mis/10,
data$total_add/25,
data$total_sub/25,
data$total_prb/6)
totals.num_perc_end<-data.frame(data$total_nid_end/15,
data$total_qds_end/10,
data$total_mis_end/10,
data$total_add_end/25,
data$total_sub_end/25,
data$total_prb_end/6)
end.num$tot.num_end<-rowSums(totals.num_perc_end)/6. #divided by 6 to get scores between 0 and 1
bas.num$tot.num<-rowSums(totals.num_perc_bas)/6. #divided by 6 to get scores between 0 and 1
#endline lit
end.lit<-data[,c("total_lid_end","total_pho_end","total_muw_end","total_non_end","total_com_end","total_lis_end","total_wrt_end","Read_1_end",
"Read_2_end")]
# Are there any missings values?
any(is.na(rowSums(end.lit)))
## [1] TRUE
# TRUE, so missing values: multiple imputation
mis.lit=rep(NA,9)
for(i in 1:ncol(end.lit))
mis.lit[i]=length(which(is.na(end.lit[,i])))
mis.lit
## [1] 69 69 69 69 416 69 69 69 416
# 69 participants miss the endline data for literacy all tasks. This is 69/1507=.046, 4.6%
# Task total_com and Read_2 has 416 missings values, this is 416/1507=.276, 27.6%
# These endline scores were imputed.
scores.mice<-mice(end.lit,print=FALSE)
end.lit.MI<-complete(scores.mice)
data[,c("total_lid_end","total_pho_end","total_muw_end","total_non_end","total_com_end","total_lis_end","total_wrt_end","Read_1_end","Read_2_end")]=end.lit.MI
#check
end.lit<-data[,c("total_lid_end","total_pho_end","total_muw_end","total_non_end","total_com_end","total_lis_end","total_wrt_end"
,"Read_1_end","Read_2_end")]
any(is.na(rowSums(end.lit)))
## [1] FALSE
# no missings anymore
### Add total literacy score
totals.lit_perc_bas<-data.frame(data$total_lid/26,
data$total_pho/10,
data$total_muw/20,
data$total_non/16,
data$total_com/5,
data$total_lis/5,
data$total_wrt/10,
data$Read_1/99)
totals.lit_perc_end<-data.frame(data$total_lid_end/26,
data$total_pho_end/10,
data$total_muw_end/20,
data$total_non_end/16,
data$total_com_end/5,
data$total_lis_end/5,
data$total_wrt_end/10,
data$Read_1_end/99)
end.lit$tot.lit_end<-rowSums(totals.lit_perc_end)/8
bas.lit$tot.lit<-rowSums(totals.lit_perc_bas)/8
### Add total wellbeing score
wellbeing<-data[,c(6:17,375:386)]
for(i in 1:ncol(wellbeing)){
wellbeing[,i][wellbeing[,i]=="Never"]=0
wellbeing[,i][wellbeing[,i]=="Not much of the time"]=1
wellbeing[,i][wellbeing[,i]=="Some of the time"]=2
wellbeing[,i][wellbeing[,i]=="Quite a lot of the time"]=3
wellbeing[,i][wellbeing[,i]=="All of the time"]=4
wellbeing[,i][wellbeing[,i]=="Refused to answer"]=NA
}
wellbeing<-apply(wellbeing,2,as.numeric)
scores.mice<-mice(wellbeing,print=FALSE)
wellbeing<-complete(scores.mice)
wb.bas<-cbind(data[,c(2:5,616)],wellbeing[,1:12])
wb.end<-cbind(wb.bas[,1:5],wellbeing[,13:24])
colnames(wb.end)<-colnames(wb.bas)
WB.long<-rbind(wb.bas,wb.end)
#head(WB.long)
WB.long$totaal<-rowSums(WB.long[,6:17])
### Long datafile ###
baseline<-cbind(data[,c(2:5,615,616)],bas.num,bas.lit)
colnames(baseline)
## [1] "participantID" "GenderChild" "School" "ppt_group"
## [5] "Attendance" "Attendance_dich" "total_nid" "total_qds"
## [9] "total_mis" "total_add" "total_sub" "total_prb"
## [13] "tot.num" "total_lid" "total_pho" "total_muw"
## [17] "total_non" "total_com" "total_lis" "total_wrt"
## [21] "read_1" "read_2" "tot.lit"
endline<-cbind(baseline[,1:6],end.num,end.lit)
colnames(endline)=colnames(baseline)
longdata<-rbind(baseline,endline)
longdata<-longdata[order(longdata$participantID),]
longdata$WB_total<-WB.long$totaal
longdata$time<-rep(c("baseline","endline"),nrow(baseline))
longdata[c(1:6),]
## participantID GenderChild School ppt_group Attendance
## 1209 16000650 Male Kyamusooni Primary School B 82
## 2716 16000650 Male Kyamusooni Primary School B 82
## 1163 16000674 Male Kyamusooni Primary School B 88
## 2670 16000674 Male Kyamusooni Primary School B 88
## 1115 16000681 Male Kyamusooni Primary School B 83
## 2622 16000681 Male Kyamusooni Primary School B 83
## Attendance_dich total_nid total_qds total_mis total_add total_sub
## 1209 0 11 6 4 3 4
## 2716 0 14 9 5 4 4
## 1163 1 13 10 6 7 3
## 2670 1 15 10 7 7 6
## 1115 0 15 10 10 7 4
## 2622 0 15 10 8 11 7
## total_prb tot.num total_lid total_pho total_muw total_non total_com
## 1209 2 0.3911111 21 1 3 1 0
## 2716 4 0.5533333 22 3 5 0 0
## 1163 6 0.6444444 23 0 13 3 0
## 2670 6 0.7033333 26 6 17 8 2
## 1115 6 0.7400000 24 4 19 9 2
## 2622 5 0.7255556 24 7 16 2 3
## total_lis total_wrt read_1 read_2 tot.lit WB_total time
## 1209 1 0 3 3 0.1738624 21 baseline
## 2716 1 0 7 19 0.2083576 27 endline
## 1163 0 1 30 48 0.2643806 43 baseline
## 2670 1 7 29 69 0.5678662 27 endline
## 1115 1 3 17 48 0.5048259 25 baseline
## 2622 4 7 30 67 0.6188884 31 endline
dm<-t(descriptives_Num)
colnames(dm)<-c("Baseline A","Endline A","Baseline B","Endline B")
data.table(dm[-c(1,2),],keep.rownames=TRUE)
## rn Baseline A Endline A Baseline B Endline B
## 1: mean total_nid 12.25 14.11 12.17 13.75
## 2: sd total_nid 2.90 1.65 2.95 2.09
## 3: mean total_qds 8.29 9.43 8.25 9.05
## 4: sd total_qds 2.05 1.10 2.14 1.52
## 5: mean total_mis 5.82 7.68 5.27 6.99
## 6: sd total_mis 2.81 2.16 2.94 2.67
## 7: mean total_add 6.97 9.85 5.83 8.29
## 8: sd total_add 4.10 4.22 3.70 4.26
## 9: mean total_sub 4.63 7.21 3.97 5.45
## 10: sd total_sub 3.66 4.02 2.91 3.39
## 11: mean total_prb 3.51 4.71 3.44 4.40
## 12: sd total_prb 1.92 1.41 1.89 1.61
## 13: mean tot.num 0.55 0.69 0.52 0.63
## 14: sd tot.num 0.16 0.12 0.16 0.14
dl<-t(descriptives_Lit)
colnames(dl)<-c("Baseline A","Endline A","Baseline B","Endline B")
data.table(dl[-c(1,2),],keep.rownames=TRUE)
## rn Baseline A Endline A Baseline B Endline B
## 1: mean total_lid 19.39 23.74 20.41 23.17
## 2: sd total_lid 8.14 4.33 7.19 4.87
## 3: mean total_pho 3.71 6.76 2.16 2.89
## 4: sd total_pho 3.51 3.06 2.83 3.17
## 5: mean total_muw 8.37 13.82 7.46 12.15
## 6: sd total_muw 6.91 6.25 6.54 6.97
## 7: mean total_non 3.73 7.93 2.81 5.66
## 8: sd total_non 4.72 5.31 4.15 5.23
## 9: mean total_com 0.80 1.75 0.60 1.56
## 10: sd total_com 1.27 1.50 1.09 1.46
## 11: mean total_lis 0.86 1.47 0.64 1.21
## 12: sd total_lis 1.26 1.41 1.04 1.33
## 13: mean total_wrt 3.06 4.78 2.51 4.56
## 14: sd total_wrt 2.92 3.28 2.73 3.32
## 15: mean read_1 13.72 29.63 10.32 23.86
## 16: sd read_1 15.90 22.99 13.31 20.70
## 17: mean read_2 28.22 60.41 23.63 52.60
## 18: sd read_2 31.68 28.50 30.39 29.32
## 19: mean tot.lit 0.34 0.52 0.29 0.42
## 20: sd tot.lit 0.21 0.22 0.18 0.22
tab_model(fit_nid,fit_nid1)
| total_nid | total_nid | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 11.52 | 11.10 – 11.95 | <0.001 | 11.55 | 11.09 – 12.01 | <0.001 |
| GenderChild [Male] | 0.28 | 0.03 – 0.52 | 0.029 | 0.27 | 0.03 – 0.52 | 0.030 |
| time [endline] | 1.79 | 1.38 – 2.20 | <0.001 | 1.96 | 1.52 – 2.39 | <0.001 |
| Attendance | 0.01 | 0.00 – 0.01 | 0.003 | 0.01 | 0.00 – 0.01 | 0.003 |
|
GenderChild [Male] * time [endline] |
-0.24 | -0.50 – 0.01 | 0.063 | -0.23 | -0.49 – 0.03 | 0.077 |
|
time [endline] * Attendance |
0.00 | -0.00 – 0.01 | 0.787 | 0.00 | -0.01 – 0.01 | 0.930 |
| ppt group [B] | -0.06 | -0.39 – 0.28 | 0.727 | |||
|
time [endline] * ppt group [B] |
-0.27 | -0.53 – -0.02 | 0.036 | |||
| Random Effects | ||||||
| σ2 | 3.19 | 3.19 | ||||
| τ00 | 2.73 participantID:School | 2.74 participantID:School | ||||
| 0.10 School | 0.10 School | |||||
| ICC | 0.47 | 0.47 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.115 / 0.532 | 0.118 / 0.533 | ||||
plot(colnames(dat)[9])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_qds,fit_qds1)
| total_qds | total_qds | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 8.00 | 7.70 – 8.31 | <0.001 | 8.00 | 7.67 – 8.34 | <0.001 |
| GenderChild [Male] | -0.00 | -0.18 – 0.17 | 0.963 | -0.01 | -0.18 – 0.17 | 0.930 |
| time [endline] | 0.77 | 0.44 – 1.09 | <0.001 | 0.96 | 0.61 – 1.31 | <0.001 |
| Attendance | 0.00 | 0.00 – 0.01 | 0.044 | 0.00 | 0.00 – 0.01 | 0.038 |
|
GenderChild [Male] * time [endline] |
-0.12 | -0.32 – 0.09 | 0.258 | -0.10 | -0.31 – 0.10 | 0.321 |
|
time [endline] * Attendance |
0.00 | -0.00 – 0.01 | 0.077 | 0.00 | -0.00 – 0.01 | 0.134 |
| ppt group [B] | -0.01 | -0.26 – 0.23 | 0.908 | |||
|
time [endline] * ppt group [B] |
-0.33 | -0.53 – -0.12 | 0.002 | |||
| Random Effects | ||||||
| σ2 | 2.03 | 2.02 | ||||
| τ00 | 0.99 participantID:School | 1.00 participantID:School | ||||
| 0.06 School | 0.05 School | |||||
| ICC | 0.34 | 0.34 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.077 / 0.392 | 0.082 / 0.396 | ||||
plot(colnames(dat)[10])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_mis,fit_mis1)
| total_mis | total_mis | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 4.72 | 4.23 – 5.20 | <0.001 | 5.00 | 4.48 – 5.52 | <0.001 |
| GenderChild [Male] | 0.25 | -0.01 – 0.52 | 0.063 | 0.26 | -0.01 – 0.52 | 0.057 |
| time [endline] | 1.57 | 1.14 – 2.01 | <0.001 | 1.63 | 1.17 – 2.10 | <0.001 |
| Attendance | 0.01 | 0.00 – 0.02 | 0.001 | 0.01 | 0.00 – 0.02 | 0.001 |
|
GenderChild [Male] * time [endline] |
-0.33 | -0.60 – -0.06 | 0.016 | -0.33 | -0.60 – -0.06 | 0.018 |
|
time [endline] * Attendance |
0.01 | -0.00 – 0.01 | 0.053 | 0.01 | -0.00 – 0.01 | 0.062 |
| ppt group [B] | -0.52 | -0.94 – -0.10 | 0.014 | |||
|
time [endline] * ppt group [B] |
-0.10 | -0.37 – 0.17 | 0.465 | |||
| Random Effects | ||||||
| σ2 | 3.59 | 3.59 | ||||
| τ00 | 3.23 participantID:School | 3.23 participantID:School | ||||
| 0.28 School | 0.21 School | |||||
| ICC | 0.49 | 0.49 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.113 / 0.551 | 0.124 / 0.552 | ||||
plot(colnames(dat)[11])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_add,fit_add1)
| total_add | total_add | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 5.16 | 4.43 – 5.88 | <0.001 | 5.79 | 5.05 – 6.53 | <0.001 |
| GenderChild [Male] | 0.22 | -0.18 – 0.63 | 0.282 | 0.23 | -0.18 – 0.64 | 0.274 |
| time [endline] | 2.16 | 1.40 – 2.92 | <0.001 | 2.37 | 1.56 – 3.18 | <0.001 |
| Attendance | 0.02 | 0.01 – 0.03 | <0.001 | 0.02 | 0.01 – 0.02 | 0.001 |
|
GenderChild [Male] * time [endline] |
-0.56 | -1.03 – -0.08 | 0.021 | -0.54 | -1.01 – -0.07 | 0.025 |
|
time [endline] * Attendance |
0.01 | 0.00 – 0.02 | 0.022 | 0.01 | 0.00 – 0.02 | 0.031 |
| ppt group [B] | -1.09 | -1.58 – -0.60 | <0.001 | |||
|
time [endline] * ppt group [B] |
-0.34 | -0.82 – 0.13 | 0.160 | |||
| Random Effects | ||||||
| σ2 | 10.96 | 10.95 | ||||
| τ00 | 5.28 participantID:School | 5.28 participantID:School | ||||
| 0.54 School | 0.14 School | |||||
| ICC | 0.35 | 0.33 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.112 / 0.420 | 0.134 / 0.421 | ||||
plot(colnames(dat)[12])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_sub,fit_sub1)
| total_sub | total_sub | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 3.54 | 2.90 – 4.18 | <0.001 | 3.93 | 3.30 – 4.57 | <0.001 |
| GenderChild [Male] | 0.26 | -0.10 – 0.62 | 0.153 | 0.24 | -0.11 – 0.59 | 0.185 |
| time [endline] | 1.38 | 0.71 – 2.05 | <0.001 | 2.03 | 1.31 – 2.74 | <0.001 |
| Attendance | 0.01 | 0.00 – 0.02 | 0.021 | 0.01 | 0.00 – 0.02 | 0.033 |
|
GenderChild [Male] * time [endline] |
0.10 | -0.32 – 0.51 | 0.655 | 0.14 | -0.27 – 0.56 | 0.498 |
|
time [endline] * Attendance |
0.01 | 0.00 – 0.02 | 0.050 | 0.01 | -0.00 – 0.02 | 0.126 |
| ppt group [B] | -0.64 | -1.07 – -0.22 | 0.003 | |||
|
time [endline] * ppt group [B] |
-1.07 | -1.49 – -0.66 | <0.001 | |||
| Random Effects | ||||||
| σ2 | 8.59 | 8.45 | ||||
| τ00 | 3.69 participantID:School | 3.76 participantID:School | ||||
| 0.45 School | 0.10 School | |||||
| ICC | 0.33 | 0.31 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.084 / 0.382 | 0.114 / 0.392 | ||||
plot(colnames(dat)[13])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_prb,fit_prb1)
| total_prb | total_prb | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 3.12 | 2.80 – 3.43 | <0.001 | 3.14 | 2.78 – 3.50 | <0.001 |
| GenderChild [Male] | 0.19 | 0.02 – 0.36 | 0.028 | 0.19 | 0.02 – 0.36 | 0.031 |
| time [endline] | 1.10 | 0.78 – 1.43 | <0.001 | 1.23 | 0.88 – 1.58 | <0.001 |
| Attendance | 0.00 | 0.00 – 0.01 | 0.047 | 0.00 | 0.00 – 0.01 | 0.041 |
|
GenderChild [Male] * time [endline] |
-0.25 | -0.45 – -0.04 | 0.017 | -0.24 | -0.44 – -0.03 | 0.022 |
|
time [endline] * Attendance |
0.00 | -0.00 – 0.01 | 0.476 | 0.00 | -0.00 – 0.01 | 0.596 |
| ppt group [B] | -0.07 | -0.39 – 0.26 | 0.691 | |||
|
time [endline] * ppt group [B] |
-0.22 | -0.42 – -0.01 | 0.037 | |||
| Random Effects | ||||||
| σ2 | 2.02 | 2.02 | ||||
| τ00 | 0.80 participantID:School | 0.80 participantID:School | ||||
| 0.15 School | 0.15 School | |||||
| ICC | 0.32 | 0.32 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.095 / 0.384 | 0.098 / 0.386 | ||||
plot(colnames(dat)[14])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_nu,fit_nu1)
| tot.num | tot.num | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 0.48 | 0.46 – 0.51 | <0.001 | 0.50 | 0.47 – 0.52 | <0.001 |
| GenderChild [Male] | 0.02 | 0.00 – 0.03 | 0.031 | 0.02 | 0.00 – 0.03 | 0.031 |
| time [endline] | 0.11 | 0.09 – 0.13 | <0.001 | 0.13 | 0.11 – 0.15 | <0.001 |
| Attendance | 0.00 | 0.00 – 0.00 | <0.001 | 0.00 | 0.00 – 0.00 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.02 | -0.03 – -0.01 | 0.002 | -0.02 | -0.03 – -0.01 | 0.004 |
|
time [endline] * Attendance |
0.00 | 0.00 – 0.00 | 0.013 | 0.00 | 0.00 – 0.00 | 0.031 |
| ppt group [B] | -0.02 | -0.05 – -0.00 | 0.041 | |||
|
time [endline] * ppt group [B] |
-0.03 | -0.04 – -0.01 | <0.001 | |||
| Random Effects | ||||||
| σ2 | 0.01 | 0.01 | ||||
| τ00 | 0.01 participantID:School | 0.01 participantID:School | ||||
| 0.00 School | 0.00 School | |||||
| ICC | 0.61 | 0.60 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.173 / 0.676 | 0.188 / 0.679 | ||||
plot(colnames(dat)[15])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_lid,fit_lid1)
| total_lid | total_lid | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 18.74 | 17.52 – 19.95 | <0.001 | 18.10 | 16.67 – 19.53 | <0.001 |
| GenderChild [Male] | -0.15 | -0.76 – 0.47 | 0.646 | -0.18 | -0.80 – 0.44 | 0.561 |
| time [endline] | 3.75 | 2.60 – 4.89 | <0.001 | 4.70 | 3.49 – 5.92 | <0.001 |
| Attendance | 0.02 | 0.00 – 0.03 | 0.010 | 0.02 | 0.01 – 0.03 | 0.005 |
|
GenderChild [Male] * time [endline] |
-0.35 | -1.06 – 0.36 | 0.335 | -0.28 | -0.99 – 0.43 | 0.441 |
|
time [endline] * Attendance |
-0.00 | -0.02 – 0.02 | 0.987 | -0.00 | -0.02 – 0.01 | 0.692 |
| ppt group [B] | 1.11 | -0.32 – 2.53 | 0.128 | |||
|
time [endline] * ppt group [B] |
-1.59 | -2.30 – -0.88 | <0.001 | |||
| Random Effects | ||||||
| σ2 | 24.91 | 24.62 | ||||
| τ00 | 12.17 participantID:School | 12.32 participantID:School | ||||
| 3.12 School | 3.23 School | |||||
| ICC | 0.38 | 0.39 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.078 / 0.429 | 0.081 / 0.437 | ||||
plot(colnames(dat)[16])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_pho,fit_pho1)
| total_pho | total_pho | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 3.29 | 2.48 – 4.11 | <0.001 | 3.96 | 3.15 – 4.77 | <0.001 |
| GenderChild [Male] | -0.29 | -0.59 – 0.01 | 0.056 | -0.34 | -0.63 – -0.04 | 0.025 |
| time [endline] | 0.20 | -0.47 – 0.86 | 0.564 | 1.54 | 0.86 – 2.22 | <0.001 |
| Attendance | -0.00 | -0.01 – 0.00 | 0.361 | -0.00 | -0.01 – 0.01 | 0.710 |
|
GenderChild [Male] * time [endline] |
-0.00 | -0.41 – 0.41 | 0.994 | 0.10 | -0.30 – 0.50 | 0.626 |
|
time [endline] * Attendance |
0.03 | 0.02 – 0.03 | <0.001 | 0.02 | 0.01 – 0.03 | <0.001 |
| ppt group [B] | -1.54 | -2.46 – -0.62 | 0.001 | |||
|
time [endline] * ppt group [B] |
-2.24 | -2.63 – -1.84 | <0.001 | |||
| Random Effects | ||||||
| σ2 | 8.35 | 7.74 | ||||
| τ00 | 0.40 participantID:School | 0.71 participantID:School | ||||
| 3.25 School | 1.48 School | |||||
| ICC | 0.30 | 0.22 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.081 / 0.360 | 0.243 / 0.410 | ||||
plot(colnames(dat)[17])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_muw,fit_muw1)
| total_muw | total_muw | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 5.85 | 4.59 – 7.11 | <0.001 | 6.20 | 4.75 – 7.65 | <0.001 |
| GenderChild [Male] | -0.75 | -1.40 – -0.11 | 0.022 | -0.76 | -1.41 – -0.11 | 0.021 |
| time [endline] | 4.55 | 3.78 – 5.32 | <0.001 | 4.98 | 4.16 – 5.80 | <0.001 |
| Attendance | 0.04 | 0.02 – 0.05 | <0.001 | 0.04 | 0.02 – 0.05 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.09 | -0.57 – 0.39 | 0.712 | -0.06 | -0.54 – 0.42 | 0.812 |
|
time [endline] * Attendance |
0.01 | -0.00 – 0.02 | 0.106 | 0.01 | -0.00 – 0.02 | 0.174 |
| ppt group [B] | -0.74 | -2.13 – 0.65 | 0.298 | |||
|
time [endline] * ppt group [B] |
-0.72 | -1.20 – -0.24 | 0.003 | |||
| Random Effects | ||||||
| σ2 | 11.20 | 11.14 | ||||
| τ00 | 29.18 participantID:School | 29.21 participantID:School | ||||
| 3.13 School | 2.96 School | |||||
| ICC | 0.74 | 0.74 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.147 / 0.781 | 0.155 / 0.783 | ||||
plot(colnames(dat)[18])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_non,fit_non1)
| total_non | total_non | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 2.43 | 1.52 – 3.33 | <0.001 | 2.84 | 1.89 – 3.79 | <0.001 |
| GenderChild [Male] | 0.01 | -0.48 – 0.50 | 0.979 | -0.01 | -0.49 – 0.48 | 0.981 |
| time [endline] | 2.67 | 1.90 – 3.44 | <0.001 | 3.44 | 2.63 – 4.26 | <0.001 |
| Attendance | 0.01 | 0.00 – 0.02 | 0.026 | 0.01 | 0.00 – 0.02 | 0.020 |
|
GenderChild [Male] * time [endline] |
-0.32 | -0.80 – 0.16 | 0.193 | -0.26 | -0.74 – 0.22 | 0.283 |
|
time [endline] * Attendance |
0.02 | 0.00 – 0.03 | 0.004 | 0.01 | 0.00 – 0.02 | 0.014 |
| ppt group [B] | -0.87 | -1.61 – -0.14 | 0.020 | |||
|
time [endline] * ppt group [B] |
-1.28 | -1.76 – -0.81 | <0.001 | |||
| Random Effects | ||||||
| σ2 | 11.22 | 11.03 | ||||
| τ00 | 11.89 participantID:School | 11.99 participantID:School | ||||
| 1.15 School | 0.59 School | |||||
| ICC | 0.54 | 0.53 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.122 / 0.594 | 0.148 / 0.602 | ||||
plot(colnames(dat)[19])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_com,fit_com1)
| total_com | total_com | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 0.39 | 0.14 – 0.63 | 0.002 | 0.48 | 0.21 – 0.76 | 0.001 |
| GenderChild [Male] | -0.03 | -0.16 – 0.10 | 0.682 | -0.03 | -0.16 – 0.11 | 0.705 |
| time [endline] | 0.77 | 0.54 – 1.01 | <0.001 | 0.75 | 0.50 – 1.01 | <0.001 |
| Attendance | 0.00 | 0.00 – 0.01 | 0.001 | 0.00 | 0.00 – 0.01 | 0.001 |
|
GenderChild [Male] * time [endline] |
-0.11 | -0.25 – 0.04 | 0.154 | -0.11 | -0.25 – 0.04 | 0.150 |
|
time [endline] * Attendance |
0.00 | 0.00 – 0.01 | 0.027 | 0.00 | 0.00 – 0.01 | 0.026 |
| ppt group [B] | -0.18 | -0.43 – 0.07 | 0.157 | |||
|
time [endline] * ppt group [B] |
0.03 | -0.12 – 0.17 | 0.727 | |||
| Random Effects | ||||||
| σ2 | 1.04 | 1.04 | ||||
| τ00 | 0.64 participantID:School | 0.64 participantID:School | ||||
| 0.09 School | 0.09 School | |||||
| ICC | 0.41 | 0.41 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.126 / 0.485 | 0.130 / 0.486 | ||||
plot(colnames(dat)[20])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_lis,fit_lis1)
| total_lis | total_lis | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 0.56 | 0.32 – 0.80 | <0.001 | 0.66 | 0.38 – 0.94 | <0.001 |
| GenderChild [Male] | -0.15 | -0.28 – -0.03 | 0.016 | -0.15 | -0.27 – -0.03 | 0.017 |
| time [endline] | 0.34 | 0.12 – 0.56 | 0.002 | 0.36 | 0.13 – 0.60 | 0.003 |
| Attendance | 0.00 | 0.00 – 0.01 | 0.005 | 0.00 | 0.00 – 0.01 | 0.005 |
|
GenderChild [Male] * time [endline] |
0.06 | -0.07 – 0.20 | 0.361 | 0.07 | -0.07 – 0.20 | 0.351 |
|
time [endline] * Attendance |
0.00 | 0.00 – 0.01 | 0.036 | 0.00 | 0.00 – 0.01 | 0.040 |
| ppt group [B] | -0.20 | -0.47 – 0.08 | 0.160 | |||
|
time [endline] * ppt group [B] |
-0.03 | -0.17 – 0.10 | 0.633 | |||
| Random Effects | ||||||
| σ2 | 0.93 | 0.93 | ||||
| τ00 | 0.55 participantID:School | 0.55 participantID:School | ||||
| 0.12 School | 0.12 School | |||||
| ICC | 0.42 | 0.42 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.064 / 0.459 | 0.071 / 0.461 | ||||
plot(colnames(dat)[21])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_wrt,fit_wrt1)
| total_wrt | total_wrt | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 1.95 | 1.38 – 2.52 | <0.001 | 2.22 | 1.55 – 2.88 | <0.001 |
| GenderChild [Male] | -0.48 | -0.78 – -0.18 | 0.002 | -0.47 | -0.77 – -0.17 | 0.002 |
| time [endline] | 1.60 | 1.22 – 1.98 | <0.001 | 1.38 | 0.97 – 1.79 | <0.001 |
| Attendance | 0.02 | 0.01 – 0.02 | <0.001 | 0.02 | 0.01 – 0.02 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.12 | -0.36 – 0.12 | 0.323 | -0.14 | -0.38 – 0.10 | 0.261 |
|
time [endline] * Attendance |
0.01 | 0.00 – 0.01 | 0.047 | 0.01 | 0.00 – 0.01 | 0.025 |
| ppt group [B] | -0.48 | -1.11 – 0.15 | 0.137 | |||
|
time [endline] * ppt group [B] |
0.37 | 0.13 – 0.61 | 0.003 | |||
| Random Effects | ||||||
| σ2 | 2.80 | 2.79 | ||||
| τ00 | 5.73 participantID:School | 5.74 participantID:School | ||||
| 0.60 School | 0.61 School | |||||
| ICC | 0.69 | 0.69 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.113 / 0.728 | 0.116 / 0.730 | ||||
plot(colnames(dat)[22])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_read1,fit_read11)
| read_1 | read_1 | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 8.42 | 4.88 – 11.96 | <0.001 | 9.91 | 5.90 – 13.93 | <0.001 |
| GenderChild [Male] | -1.39 | -3.20 – 0.42 | 0.133 | -1.40 | -3.21 – 0.41 | 0.128 |
| time [endline] | 10.67 | 8.19 – 13.15 | <0.001 | 11.85 | 9.20 – 14.49 | <0.001 |
| Attendance | 0.06 | 0.02 – 0.10 | 0.002 | 0.06 | 0.02 – 0.11 | 0.002 |
|
GenderChild [Male] * time [endline] |
-2.49 | -4.04 – -0.95 | 0.002 | -2.41 | -3.95 – -0.86 | 0.002 |
|
time [endline] * Attendance |
0.08 | 0.05 – 0.11 | <0.001 | 0.08 | 0.04 – 0.11 | <0.001 |
| ppt group [B] | -3.09 | -6.91 – 0.73 | 0.113 | |||
|
time [endline] * ppt group [B] |
-1.96 | -3.50 – -0.41 | 0.013 | |||
| Random Effects | ||||||
| σ2 | 116.46 | 116.06 | ||||
| τ00 | 199.14 participantID:School | 199.34 participantID:School | ||||
| 25.39 School | 22.09 School | |||||
| ICC | 0.66 | 0.66 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.156 / 0.712 | 0.169 / 0.714 | ||||
plot(colnames(dat)[23])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_read2,fit_read21)
| read_2 | read_2 | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 17.38 | 11.85 – 22.91 | <0.001 | 19.26 | 13.07 – 25.46 | <0.001 |
| GenderChild [Male] | -2.34 | -5.29 – 0.61 | 0.120 | -2.35 | -5.31 – 0.60 | 0.118 |
| time [endline] | 28.53 | 24.54 – 32.52 | <0.001 | 30.36 | 26.10 – 34.62 | <0.001 |
| Attendance | 0.14 | 0.08 – 0.21 | <0.001 | 0.15 | 0.08 – 0.21 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.92 | -3.41 – 1.56 | 0.467 | -0.78 | -3.27 – 1.70 | 0.536 |
|
time [endline] * Attendance |
0.04 | -0.02 – 0.09 | 0.164 | 0.03 | -0.02 – 0.08 | 0.238 |
| ppt group [B] | -3.92 | -9.40 – 1.56 | 0.161 | |||
|
time [endline] * ppt group [B] |
-3.05 | -5.54 – -0.55 | 0.017 | |||
| Random Effects | ||||||
| σ2 | 302.08 | 301.13 | ||||
| τ00 | 538.12 participantID:School | 538.56 participantID:School | ||||
| 47.37 School | 41.74 School | |||||
| ICC | 0.66 | 0.66 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.220 / 0.735 | 0.228 / 0.736 | ||||
plot(colnames(dat)[24])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_tot.lit,fit_tot.lit1)
| tot.lit | tot.lit | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 0.26 | 0.22 – 0.30 | <0.001 | 0.28 | 0.24 – 0.33 | <0.001 |
| GenderChild [Male] | -0.02 | -0.04 – -0.00 | 0.020 | -0.02 | -0.04 – -0.00 | 0.017 |
| time [endline] | 0.12 | 0.09 – 0.14 | <0.001 | 0.15 | 0.12 – 0.17 | <0.001 |
| Attendance | 0.00 | 0.00 – 0.00 | <0.001 | 0.00 | 0.00 – 0.00 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.01 | -0.02 – 0.01 | 0.337 | -0.01 | -0.02 – 0.01 | 0.485 |
|
time [endline] * Attendance |
0.00 | 0.00 – 0.00 | <0.001 | 0.00 | 0.00 – 0.00 | <0.001 |
| ppt group [B] | -0.05 | -0.09 – -0.01 | 0.028 | |||
|
time [endline] * ppt group [B] |
-0.05 | -0.06 – -0.03 | <0.001 | |||
| Random Effects | ||||||
| σ2 | 0.01 | 0.01 | ||||
| τ00 | 0.03 participantID:School | 0.03 participantID:School | ||||
| 0.00 School | 0.00 School | |||||
| ICC | 0.75 | 0.75 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.153 / 0.787 | 0.182 / 0.793 | ||||
plot(colnames(dat)[25])
# The thin lines are the means of the schools, thick lines are the overall means.
dw<-t(descriptives_WB)
colnames(dw)<-c("Baseline A","Endline A","Baseline B","Endline B")
data.table(dw[-c(1,2),],keep.rownames=TRUE)
## rn Baseline A Endline A Baseline B Endline B
## 1: mean total wellbeing 28.22 60.41 23.63 52.60
## 2: sd total wellbeing 31.68 28.50 30.39 29.32
fit_WB <- lmer(WB_total ~ GenderChild*time+Attendance*time+ (1|participantID:School) + (1 | School), data =longdata )
fit_WB1 <- lmer(WB_total ~ GenderChild+GenderChild*time+Attendance+Attendance*time+time*ppt_group+ (1|participantID:School) + (1 | School), data =longdata )
tab_model(fit_WB,fit_WB1)
| WB_total | WB_total | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 34.23 | 32.99 – 35.47 | <0.001 | 35.99 | 34.82 – 37.16 | <0.001 |
| GenderChild [Male] | 0.38 | -0.27 – 1.03 | 0.251 | 0.39 | -0.26 – 1.04 | 0.234 |
| time [endline] | -0.91 | -2.26 – 0.45 | 0.190 | -1.03 | -2.47 – 0.42 | 0.165 |
| Attendance | -0.01 | -0.03 – 0.00 | 0.052 | -0.02 | -0.03 – -0.00 | 0.020 |
|
GenderChild [Male] * time [endline] |
-0.21 | -1.05 – 0.63 | 0.629 | -0.22 | -1.06 – 0.63 | 0.614 |
|
time [endline] * Attendance |
0.02 | 0.00 – 0.04 | 0.028 | 0.02 | 0.00 – 0.04 | 0.026 |
| ppt group [B] | -3.21 | -3.98 – -2.44 | <0.001 | |||
|
time [endline] * ppt group [B] |
0.20 | -0.65 – 1.05 | 0.644 | |||
| Random Effects | ||||||
| σ2 | 34.76 | 34.78 | ||||
| τ00 | 6.33 participantID:School | 6.32 participantID:School | ||||
| 2.80 School | 0.34 School | |||||
| ICC | 0.21 | 0.16 | ||||
| N | 1507 participantID | 1507 participantID | ||||
| 30 School | 30 School | |||||
| Observations | 3014 | 3014 | ||||
| Marginal R2 / Conditional R2 | 0.003 / 0.210 | 0.057 / 0.208 | ||||
plot(colnames(dat)[26])
# The thin lines are the means of the schools, thick lines are the overall means.
#install.packages("devtools")
#library("devtools")
#install_github("jdstorey/qvalue")
#browseVignettes(package = "qvalue")
pvalues<-na.omit(pvalue)
qobj <- qvalue_truncp(p = pvalues)
test<-c("nid","qds","mis","add","sub","prb","nu","lid","pho","muw","non",
"com","lis","wrt","read1","read2","lit")
qvalues <- qobj$qvalues
q<-data.frame(test,pvalues,qvalues)
# unique effect interaction time * group
colnames(q)<-c("(Sub)Task","P-value","Q-value")
data.table(q,keep.rownames=FALSE)
## (Sub)Task P-value Q-value
## 1: nid 3.567414e-02 5.687609e-02
## 2: qds 1.793841e-03 5.090388e-03
## 3: mis 4.645757e-01 6.152198e-01
## 4: add 1.599700e-01 2.269737e-01
## 5: sub 5.010765e-07 2.488336e-06
## 6: prb 3.722272e-02 5.687609e-02
## 7: nu 1.110593e-04 3.676789e-04
## 8: lid 1.278138e-05 5.077766e-05
## 9: pho 5.040117e-27 1.001165e-25
## 10: muw 3.395392e-03 7.493977e-03
## 11: non 1.514319e-07 1.002677e-06
## 12: com 7.270702e-01 8.495569e-01
## 13: lis 6.327993e-01 7.856173e-01
## 14: wrt 2.799579e-03 6.951329e-03
## 15: read1 1.325972e-02 2.633901e-02
## 16: read2 1.662530e-02 3.002215e-02
## 17: lit 1.818246e-09 1.805875e-08
pi0 <- qobj$pi0
lfdr <- qobj$lfdr
#summary(qobj)
#hist(qobj)
#plot(qobj)
Cohen’s d was calculated without a correction for variance by school or covariates.
library(rstatix)
##
## Attaching package: 'rstatix'
## The following object is masked from 'package:stats':
##
## filter
cd=list()
for(i in 1:17){
df.effs<-data.frame(diff=endline[,i+6]-baseline[,i+6],group=baseline$ppt_group)
cd[[i]]<-df.effs %>% cohens_d(diff ~ group, var.equal = TRUE)}
test<-c("nid","qds","mis","add","sub","prb","nu","lid","pho","muw","non",
"com","lis","wrt","read1","read2","lit")
df.cohensd<-cd[[1]]
for(i in 2:17)
df.cohensd<-rbind(df.cohensd,cd[[i]])
df<-data.frame(test,df.cohensd[,c(4)])
colnames(df)<-c("(Sub)Task","Cohen's d")
data.table(df,keep.rownames=FALSE)
## (Sub)Task Cohen's d
## 1: nid 0.113372899
## 2: qds 0.170951376
## 3: mis 0.051745703
## 4: add 0.087589972
## 5: sub 0.266555531
## 6: prb 0.115598395
## 7: nu 0.216328777
## 8: lid 0.226798885
## 9: pho 0.584830794
## 10: muw 0.158585614
## 11: non 0.286205697
## 12: com -0.004630069
## 13: lis 0.031747430
## 14: wrt -0.142030654
## 15: read1 0.154478215
## 16: read2 0.130911013
## 17: lit 0.331026282
tab_model(fit_nid,fit_nid1)
| total_nid | total_nid | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 12.73 | 12.27 – 13.19 | <0.001 | 12.95 | 12.36 – 13.55 | <0.001 |
| GenderChild [Male] | -0.40 | -0.95 – 0.14 | 0.149 | -0.39 | -0.94 – 0.16 | 0.164 |
| time [endline] | 1.75 | 1.37 – 2.14 | <0.001 | 1.78 | 1.29 – 2.26 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.17 | -0.71 – 0.37 | 0.533 | -0.17 | -0.71 – 0.37 | 0.539 |
| ppt group [B] | -0.44 | -1.16 – 0.29 | 0.239 | |||
|
time [endline] * ppt group [B] |
-0.05 | -0.59 – 0.50 | 0.870 | |||
| Random Effects | ||||||
| σ2 | 3.08 | 3.09 | ||||
| τ00 | 3.17 participantID:School | 3.16 participantID:School | ||||
| 0.25 School | 0.22 School | |||||
| ICC | 0.53 | 0.52 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.104 / 0.576 | 0.111 / 0.576 | ||||
plot(colnames(dat)[9])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_qds,fit_qds1)
| total_qds | total_qds | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 8.67 | 8.38 – 8.96 | <0.001 | 8.74 | 8.36 – 9.12 | <0.001 |
| GenderChild [Male] | -0.47 | -0.82 – -0.12 | 0.008 | -0.47 | -0.82 – -0.12 | 0.009 |
| time [endline] | 0.98 | 0.69 – 1.26 | <0.001 | 1.07 | 0.71 – 1.44 | <0.001 |
|
GenderChild [Male] * time [endline] |
0.10 | -0.31 – 0.50 | 0.638 | 0.11 | -0.30 – 0.51 | 0.608 |
| ppt group [B] | -0.15 | -0.60 – 0.31 | 0.521 | |||
|
time [endline] * ppt group [B] |
-0.18 | -0.59 – 0.24 | 0.402 | |||
| Random Effects | ||||||
| σ2 | 1.75 | 1.75 | ||||
| τ00 | 0.82 participantID:School | 0.82 participantID:School | ||||
| 0.09 School | 0.08 School | |||||
| ICC | 0.34 | 0.34 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.104 / 0.411 | 0.109 / 0.413 | ||||
plot(colnames(dat)[10])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_mis,fit_mis1)
| total_mis | total_mis | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 6.03 | 5.50 – 6.56 | <0.001 | 6.62 | 6.01 – 7.22 | <0.001 |
| GenderChild [Male] | -0.25 | -0.80 – 0.31 | 0.382 | -0.21 | -0.77 – 0.34 | 0.447 |
| time [endline] | 2.16 | 1.76 – 2.56 | <0.001 | 2.08 | 1.57 – 2.59 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.45 | -1.01 – 0.12 | 0.123 | -0.45 | -1.02 – 0.12 | 0.118 |
| ppt group [B] | -1.22 | -1.95 – -0.49 | 0.001 | |||
|
time [endline] * ppt group [B] |
0.15 | -0.42 – 0.72 | 0.609 | |||
| Random Effects | ||||||
| σ2 | 3.40 | 3.41 | ||||
| τ00 | 2.96 participantID:School | 2.95 participantID:School | ||||
| 0.52 School | 0.23 School | |||||
| ICC | 0.51 | 0.48 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.127 / 0.569 | 0.168 / 0.570 | ||||
plot(colnames(dat)[11])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_add,fit_add1)
| total_add | total_add | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 7.20 | 6.32 – 8.09 | <0.001 | 7.94 | 6.91 – 8.97 | <0.001 |
| GenderChild [Male] | -0.49 | -1.39 – 0.41 | 0.289 | -0.47 | -1.37 – 0.43 | 0.306 |
| time [endline] | 3.10 | 2.35 – 3.84 | <0.001 | 3.22 | 2.27 – 4.16 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.17 | -1.21 – 0.88 | 0.757 | -0.15 | -1.20 – 0.90 | 0.773 |
| ppt group [B] | -1.50 | -2.77 – -0.22 | 0.021 | |||
|
time [endline] * ppt group [B] |
-0.22 | -1.28 – 0.85 | 0.690 | |||
| Random Effects | ||||||
| σ2 | 11.63 | 11.66 | ||||
| τ00 | 5.21 participantID:School | 5.25 participantID:School | ||||
| 1.56 School | 0.82 School | |||||
| ICC | 0.37 | 0.34 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.114 / 0.440 | 0.145 / 0.438 | ||||
plot(colnames(dat)[12])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_sub,fit_sub1)
| total_sub | total_sub | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 4.84 | 4.04 – 5.65 | <0.001 | 5.10 | 4.26 – 5.94 | <0.001 |
| GenderChild [Male] | -0.04 | -0.84 – 0.76 | 0.923 | -0.07 | -0.86 – 0.72 | 0.861 |
| time [endline] | 2.07 | 1.37 – 2.77 | <0.001 | 3.20 | 2.33 – 4.06 | <0.001 |
|
GenderChild [Male] * time [endline] |
0.09 | -0.89 – 1.07 | 0.858 | 0.19 | -0.77 – 1.15 | 0.692 |
| ppt group [B] | -0.77 | -1.79 – 0.25 | 0.141 | |||
|
time [endline] * ppt group [B] |
-2.05 | -3.02 – -1.08 | <0.001 | |||
| Random Effects | ||||||
| σ2 | 10.23 | 9.74 | ||||
| τ00 | 3.05 participantID:School | 3.32 participantID:School | ||||
| 1.37 School | 0.41 School | |||||
| ICC | 0.30 | 0.28 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.071 / 0.351 | 0.138 / 0.377 | ||||
plot(colnames(dat)[13])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_prb,fit_prb1)
| total_prb | total_prb | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 3.79 | 3.46 – 4.13 | <0.001 | 3.95 | 3.54 – 4.37 | <0.001 |
| GenderChild [Male] | 0.23 | -0.12 – 0.58 | 0.189 | 0.24 | -0.11 – 0.59 | 0.178 |
| time [endline] | 0.94 | 0.64 – 1.24 | <0.001 | 1.11 | 0.73 – 1.49 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.28 | -0.71 – 0.14 | 0.187 | -0.27 | -0.69 – 0.15 | 0.211 |
| ppt group [B] | -0.34 | -0.86 – 0.18 | 0.195 | |||
|
time [endline] * ppt group [B] |
-0.29 | -0.72 – 0.13 | 0.176 | |||
| Random Effects | ||||||
| σ2 | 1.89 | 1.88 | ||||
| τ00 | 0.63 participantID:School | 0.63 participantID:School | ||||
| 0.20 School | 0.15 School | |||||
| ICC | 0.31 | 0.29 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.058 / 0.347 | 0.080 / 0.351 | ||||
plot(colnames(dat)[14])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_nu,fit_nu1)
| tot.num | tot.num | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 0.57 | 0.54 – 0.60 | <0.001 | 0.60 | 0.56 – 0.63 | <0.001 |
| GenderChild [Male] | -0.01 | -0.04 – 0.02 | 0.374 | -0.01 | -0.04 – 0.02 | 0.411 |
| time [endline] | 0.13 | 0.11 – 0.15 | <0.001 | 0.15 | 0.12 – 0.17 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.02 | -0.04 – 0.01 | 0.246 | -0.01 | -0.04 – 0.01 | 0.283 |
| ppt group [B] | -0.05 | -0.10 – -0.01 | 0.019 | |||
|
time [endline] * ppt group [B] |
-0.02 | -0.05 – 0.00 | 0.083 | |||
| Random Effects | ||||||
| σ2 | 0.01 | 0.01 | ||||
| τ00 | 0.01 participantID:School | 0.01 participantID:School | ||||
| 0.00 School | 0.00 School | |||||
| ICC | 0.63 | 0.61 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.160 / 0.688 | 0.202 / 0.690 | ||||
plot(colnames(dat)[15])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_lid,fit_lid1)
| total_lid | total_lid | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 21.91 | 20.68 – 23.14 | <0.001 | 22.52 | 20.89 – 24.15 | <0.001 |
| GenderChild [Male] | -1.58 | -2.73 – -0.43 | 0.007 | -1.56 | -2.71 – -0.40 | 0.008 |
| time [endline] | 2.72 | 1.72 – 3.73 | <0.001 | 2.60 | 1.32 – 3.88 | <0.001 |
|
GenderChild [Male] * time [endline] |
0.70 | -0.71 – 2.12 | 0.331 | 0.69 | -0.73 – 2.11 | 0.340 |
| ppt group [B] | -1.22 | -3.36 – 0.92 | 0.263 | |||
|
time [endline] * ppt group [B] |
0.22 | -1.21 – 1.66 | 0.761 | |||
| Random Effects | ||||||
| σ2 | 21.27 | 21.33 | ||||
| τ00 | 6.11 participantID:School | 6.10 participantID:School | ||||
| 3.75 School | 3.63 School | |||||
| ICC | 0.32 | 0.31 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.082 / 0.373 | 0.091 / 0.376 | ||||
plot(colnames(dat)[16])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_pho,fit_pho1)
| total_pho | total_pho | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 3.47 | 2.37 – 4.56 | <0.001 | 4.31 | 3.21 – 5.42 | <0.001 |
| GenderChild [Male] | -0.26 | -0.87 – 0.36 | 0.414 | -0.29 | -0.89 – 0.31 | 0.342 |
| time [endline] | 2.59 | 2.02 – 3.17 | <0.001 | 3.87 | 3.18 – 4.56 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.39 | -1.19 – 0.42 | 0.347 | -0.27 | -1.04 – 0.50 | 0.493 |
| ppt group [B] | -2.07 | -3.59 – -0.54 | 0.008 | |||
|
time [endline] * ppt group [B] |
-2.32 | -3.10 – -1.54 | <0.001 | |||
| Random Effects | ||||||
| σ2 | 6.90 | 6.26 | ||||
| τ00 | 0.86 participantID:School | 1.18 participantID:School | ||||
| 4.93 School | 2.33 School | |||||
| ICC | 0.46 | 0.36 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.106 / 0.514 | 0.311 / 0.559 | ||||
plot(colnames(dat)[17])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_muw,fit_muw1)
| total_muw | total_muw | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 11.62 | 10.16 – 13.08 | <0.001 | 12.52 | 10.60 – 14.45 | <0.001 |
| GenderChild [Male] | -2.29 | -3.56 – -1.03 | <0.001 | -2.26 | -3.52 – -0.99 | <0.001 |
| time [endline] | 5.33 | 4.66 – 6.00 | <0.001 | 5.23 | 4.37 – 6.08 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.22 | -1.17 – 0.72 | 0.641 | -0.23 | -1.18 – 0.71 | 0.628 |
| ppt group [B] | -1.82 | -4.38 – 0.74 | 0.162 | |||
|
time [endline] * ppt group [B] |
0.19 | -0.76 – 1.15 | 0.690 | |||
| Random Effects | ||||||
| σ2 | 9.46 | 9.49 | ||||
| τ00 | 23.24 participantID:School | 23.22 participantID:School | ||||
| 5.85 School | 5.50 School | |||||
| ICC | 0.75 | 0.75 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.177 / 0.798 | 0.192 / 0.799 | ||||
plot(colnames(dat)[18])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_non,fit_non1)
| total_non | total_non | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 4.46 | 3.26 – 5.66 | <0.001 | 5.09 | 3.64 – 6.53 | <0.001 |
| GenderChild [Male] | -0.59 | -1.63 – 0.45 | 0.264 | -0.59 | -1.62 – 0.45 | 0.266 |
| time [endline] | 4.93 | 4.20 – 5.67 | <0.001 | 5.88 | 4.96 – 6.80 | <0.001 |
|
GenderChild [Male] * time [endline] |
-1.31 | -2.35 – -0.28 | 0.013 | -1.23 | -2.25 – -0.21 | 0.019 |
| ppt group [B] | -1.43 | -3.32 – 0.47 | 0.139 | |||
|
time [endline] * ppt group [B] |
-1.72 | -2.75 – -0.69 | 0.001 | |||
| Random Effects | ||||||
| σ2 | 11.35 | 11.02 | ||||
| τ00 | 10.84 participantID:School | 11.02 participantID:School | ||||
| 3.98 School | 2.76 School | |||||
| ICC | 0.57 | 0.56 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.162 / 0.637 | 0.209 / 0.649 | ||||
plot(colnames(dat)[19])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_com,fit_com1)
| total_com | total_com | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 1.01 | 0.70 – 1.33 | <0.001 | 1.13 | 0.70 – 1.55 | <0.001 |
| GenderChild [Male] | -0.11 | -0.41 – 0.19 | 0.464 | -0.11 | -0.40 – 0.19 | 0.484 |
| time [endline] | 1.31 | 1.10 – 1.53 | <0.001 | 1.28 | 1.00 – 1.56 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.07 | -0.38 – 0.24 | 0.644 | -0.08 | -0.38 – 0.23 | 0.631 |
| ppt group [B] | -0.23 | -0.78 – 0.33 | 0.421 | |||
|
time [endline] * ppt group [B] |
0.06 | -0.25 – 0.37 | 0.694 | |||
| Random Effects | ||||||
| σ2 | 1.00 | 1.01 | ||||
| τ00 | 0.79 participantID:School | 0.79 participantID:School | ||||
| 0.24 School | 0.24 School | |||||
| ICC | 0.50 | 0.51 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.170 / 0.589 | 0.173 / 0.591 | ||||
plot(colnames(dat)[20])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_lis,fit_lis1)
| total_lis | total_lis | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 1.13 | 0.82 – 1.43 | <0.001 | 1.18 | 0.77 – 1.59 | <0.001 |
| GenderChild [Male] | -0.20 | -0.49 – 0.10 | 0.192 | -0.20 | -0.49 – 0.10 | 0.190 |
| time [endline] | 0.69 | 0.45 – 0.92 | <0.001 | 0.78 | 0.49 – 1.08 | <0.001 |
|
GenderChild [Male] * time [endline] |
0.01 | -0.32 – 0.33 | 0.972 | 0.01 | -0.31 – 0.34 | 0.928 |
| ppt group [B] | -0.12 | -0.65 – 0.42 | 0.669 | |||
|
time [endline] * ppt group [B] |
-0.18 | -0.51 – 0.15 | 0.281 | |||
| Random Effects | ||||||
| σ2 | 1.11 | 1.11 | ||||
| τ00 | 0.70 participantID:School | 0.70 participantID:School | ||||
| 0.21 School | 0.21 School | |||||
| ICC | 0.45 | 0.45 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.060 / 0.482 | 0.065 / 0.486 | ||||
plot(colnames(dat)[21])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_wrt,fit_wrt1)
| total_wrt | total_wrt | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 4.40 | 3.67 – 5.13 | <0.001 | 4.91 | 3.94 – 5.87 | <0.001 |
| GenderChild [Male] | -0.95 | -1.57 – -0.33 | 0.003 | -0.93 | -1.55 – -0.31 | 0.003 |
| time [endline] | 2.47 | 2.12 – 2.82 | <0.001 | 2.25 | 1.81 – 2.70 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.30 | -0.79 – 0.19 | 0.233 | -0.32 | -0.81 – 0.17 | 0.203 |
| ppt group [B] | -1.01 | -2.31 – 0.28 | 0.126 | |||
|
time [endline] * ppt group [B] |
0.39 | -0.10 – 0.89 | 0.120 | |||
| Random Effects | ||||||
| σ2 | 2.57 | 2.56 | ||||
| τ00 | 5.26 participantID:School | 5.26 participantID:School | ||||
| 1.52 School | 1.45 School | |||||
| ICC | 0.72 | 0.72 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.150 / 0.766 | 0.166 / 0.770 | ||||
plot(colnames(dat)[22])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_read1,fit_read11)
| read_1 | read_1 | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 20.62 | 15.39 – 25.86 | <0.001 | 23.62 | 16.77 – 30.47 | <0.001 |
| GenderChild [Male] | -4.33 | -8.34 – -0.32 | 0.034 | -4.27 | -8.28 – -0.25 | 0.037 |
| time [endline] | 19.96 | 17.72 – 22.21 | <0.001 | 20.54 | 17.68 – 23.40 | <0.001 |
|
GenderChild [Male] * time [endline] |
-4.74 | -7.90 – -1.57 | 0.003 | -4.69 | -7.86 – -1.51 | 0.004 |
| ppt group [B] | -6.25 | -15.56 – 3.05 | 0.187 | |||
|
time [endline] * ppt group [B] |
-1.05 | -4.26 – 2.15 | 0.519 | |||
| Random Effects | ||||||
| σ2 | 106.12 | 106.31 | ||||
| τ00 | 221.51 participantID:School | 221.44 participantID:School | ||||
| 87.42 School | 80.83 School | |||||
| ICC | 0.74 | 0.74 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.178 / 0.790 | 0.200 / 0.792 | ||||
plot(colnames(dat)[23])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_read2,fit_read21)
| read_2 | read_2 | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 41.24 | 34.21 – 48.27 | <0.001 | 45.03 | 35.86 – 54.20 | <0.001 |
| GenderChild [Male] | -8.32 | -14.56 – -2.09 | 0.009 | -8.20 | -14.44 – -1.96 | 0.010 |
| time [endline] | 32.86 | 29.23 – 36.50 | <0.001 | 33.78 | 29.16 – 38.41 | <0.001 |
|
GenderChild [Male] * time [endline] |
-3.04 | -8.16 – 2.08 | 0.244 | -2.96 | -8.08 – 2.17 | 0.258 |
| ppt group [B] | -7.81 | -19.93 – 4.32 | 0.207 | |||
|
time [endline] * ppt group [B] |
-1.68 | -6.86 – 3.51 | 0.526 | |||
| Random Effects | ||||||
| σ2 | 277.57 | 278.08 | ||||
| τ00 | 518.53 participantID:School | 518.32 participantID:School | ||||
| 129.87 School | 119.49 School | |||||
| ICC | 0.70 | 0.70 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.226 / 0.768 | 0.241 / 0.769 | ||||
plot(colnames(dat)[24])
# The thin lines are the means of the schools, thick lines are the overall means.
tab_model(fit_tot.lit,fit_tot.lit1)
| tot.lit | tot.lit | |||||
|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 0.42 | 0.36 – 0.47 | <0.001 | 0.45 | 0.39 – 0.52 | <0.001 |
| GenderChild [Male] | -0.06 | -0.10 – -0.02 | 0.004 | -0.06 | -0.10 – -0.02 | 0.004 |
| time [endline] | 0.20 | 0.18 – 0.22 | <0.001 | 0.22 | 0.19 – 0.25 | <0.001 |
|
GenderChild [Male] * time [endline] |
-0.02 | -0.05 – 0.01 | 0.209 | -0.02 | -0.05 – 0.01 | 0.257 |
| ppt group [B] | -0.08 | -0.17 – 0.01 | 0.065 | |||
|
time [endline] * ppt group [B] |
-0.04 | -0.07 – -0.01 | 0.010 | |||
| Random Effects | ||||||
| σ2 | 0.01 | 0.01 | ||||
| τ00 | 0.03 participantID:School | 0.03 participantID:School | ||||
| 0.01 School | 0.01 School | |||||
| ICC | 0.80 | 0.79 | ||||
| N | 327 participantID | 327 participantID | ||||
| 20 School | 20 School | |||||
| Observations | 654 | 654 | ||||
| Marginal R2 / Conditional R2 | 0.187 / 0.837 | 0.237 / 0.841 | ||||
plot(colnames(dat)[25])
# The thin lines are the means of the schools, thick lines are the overall means.
The first model shows that there is a significant relationship between group and attendance. Children in group B have lower attendance scores (-7.89) than children in group A. The second model shows that there is a significant relationship between total literacy score. Children with higher attendance have higher scores on literacy score (averaged over baseline and endline) and they improve more from baseline to endline with higher attendance scores. In the third model shows that children in group B have lower total literacy scores (averaged over baseline and endline) and children in group B improve less than children in group A. Note that this model explains a bit more variance than model 2 (.791 vs. .796) suggesting that there is a mediation effect of attendance but group also explains some unique variance. In the fourth model this is confirmed as both higher attendance and being in group A results in significant improvement in literacy scores at endline. The final model shows a significant three way interaction between time group and attendance. Higher attendance in group A results in more improvement from baseline to endline than higher attendance in group B. Note that this final model does not have significant interaction effects anymore for timen x attendance and time x group. So this would lead to the conclusion that attendance is both a (partial) mediator and a moderator.
| Attendance | tot.lit | tot.lit | tot.lit | tot.lit | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Predictors | Estimates | CI | p | Estimates | CI | p | Estimates | CI | p | Estimates | CI | p | Estimates | CI | p |
| (Intercept) | 69.64 | 66.57 – 72.70 | <0.001 | 0.25 | 0.21 – 0.29 | <0.001 | 0.34 | 0.31 – 0.37 | <0.001 | 0.27 | 0.23 – 0.31 | <0.001 | 0.25 | 0.20 – 0.31 | <0.001 |
| ppt group [B] | -7.89 | -12.23 – -3.54 | <0.001 | -0.05 | -0.10 – -0.01 | 0.023 | -0.05 | -0.09 – -0.01 | 0.024 | -0.02 | -0.10 – 0.05 | 0.547 | |||
| time [endline] | 0.11 | 0.09 – 0.14 | <0.001 | 0.19 | 0.18 – 0.20 | <0.001 | 0.14 | 0.12 – 0.17 | <0.001 | 0.10 | 0.07 – 0.14 | <0.001 | |||
| Attendance | 0.00 | 0.00 – 0.00 | <0.001 | 0.00 | 0.00 – 0.00 | <0.001 | 0.00 | 0.00 – 0.00 | 0.001 | ||||||
|
time [endline] * Attendance |
0.00 | 0.00 – 0.00 | <0.001 | 0.00 | 0.00 – 0.00 | <0.001 | 0.00 | 0.00 – 0.00 | <0.001 | ||||||
|
time [endline] * ppt group [B] |
-0.05 | -0.06 – -0.03 | <0.001 | -0.05 | -0.06 – -0.03 | <0.001 | 0.02 | -0.03 – 0.06 | 0.454 | ||||||
|
Attendance * ppt group [B] |
-0.00 | -0.00 – 0.00 | 0.431 | ||||||||||||
|
(time [endline] Attendance) ppt group [B] |
-0.00 | -0.00 – -0.00 | 0.004 | ||||||||||||
| Random Effects | |||||||||||||||
| σ2 | 0.00 | 0.01 | 0.01 | 0.01 | 0.01 | ||||||||||
| τ00 | 231.44 participantID:School | 0.03 participantID:School | 0.03 participantID:School | 0.03 participantID:School | 0.03 participantID:School | ||||||||||
| 34.17 School | 0.00 School | 0.00 School | 0.00 School | 0.00 School | |||||||||||
| ICC | 1.00 | 0.75 | 0.75 | 0.75 | 0.75 | ||||||||||
| N | 1507 participantID | 1507 participantID | 1507 participantID | 1507 participantID | 1507 participantID | ||||||||||
| 30 School | 30 School | 30 School | 30 School | 30 School | |||||||||||
| Observations | 3014 | 3014 | 3014 | 3014 | 3014 | ||||||||||
| Marginal R2 / Conditional R2 | 0.055 / 1.000 | 0.149 / 0.787 | 0.158 / 0.792 | 0.179 / 0.793 | 0.180 / 0.794 | ||||||||||