This document presents the code to generate the analysis over flipped learning data in a pretest - posttest, focus - control process.
Data consists of 111 rows representing the information of students that participated in a control or focus group in an implementation of a flipped learning methodology. Data has the following columns:
There are 43 rows in the control group and 68 rows in the focus group.
Summary of control group learing gain
sdcontrol <- sd(control$Gain)
sderrorcontrol <- sd(control$Gain)/sqrt(length(control$Gain))
summary(control$Gain)
Min. 1st Qu. Median Mean 3rd Qu. Max.
7.143 28.902 43.662 41.013 53.516 67.273
Std. deviation 16.3918702 Std. error mean 2.4997368
Summary of focus group learing gain
sdfocus <- sd(focus$Gain)
sderrorfocus <- sd(focus$Gain)/sqrt(length(focus$Gain))
summary(focus$Gain)
Min. 1st Qu. Median Mean 3rd Qu. Max.
15.38 39.86 51.03 50.02 60.90 73.81
Std. deviation 13.7088726 Std. error mean 1.662445
pl <- ggplot(gain, aes(x=factor(Type), y=Gain, color=factor(Type))) + geom_boxplot() +
theme(axis.text.x = element_text(angle = 45), legend.position = "none") +
#theme(axis.text.x = element_blank(), axis.ticks = element_blank()) +
xlab("Type") + ylab("Learning gain")
pl
##Classification of learning gains
Control
b20control <- length(control$Gain[control$Gain<20])
bmeancontrol <- length(control$Gain[control$Gain<mean(control$Gain) & control$Gain>20])
ameancontrol <- length(control$Gain[control$Gain>=mean(control$Gain)])
Focus
b20focus <- length(focus$Gain[focus$Gain<20])
bmeanfocus <- length(focus$Gain[focus$Gain<mean(focus$Gain) & focus$Gain>20])
ameanfocus <- length(focus$Gain[focus$Gain>=mean(focus$Gain)])
Control
shapiro.test(control$Gain)
Shapiro-Wilk normality test
data: control$Gain
W = 0.95593, p-value = 0.09831
Focus
shapiro.test(focus$Gain)
Shapiro-Wilk normality test
data: focus$Gain
W = 0.96568, p-value = 0.05791
leveneTest(Gain ~ as.factor(Type), data = gain)
t <- t.test(x=focus$Gain, y=control$Gain)
t
Welch Two Sample t-test
data: focus$Gain and control$Gain
t = 2.9996, df = 77.825, p-value = 0.003629
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
3.028274 14.982011
sample estimates:
mean of x mean of y
50.01839 41.01325
t <- knitr::kable(table(focus$Global), row.names = FALSE)
print(t)
| Var1 | Freq |
|---|---|
| A | 2 |
| AK | 7 |
| AR | 1 |
| ARK | 5 |
| K | 10 |
| R | 2 |
| RK | 2 |
| V | 3 |
| VAK | 8 |
| VAR | 1 |
| VARK | 22 |
| VK | 1 |
t <- knitr::kable(prop.table(as.table(table(focus$Global)))*100, row.names = FALSE)
print(t)
| Var1 | Freq |
|---|---|
| A | 3.1250 |
| AK | 10.9375 |
| AR | 1.5625 |
| ARK | 7.8125 |
| K | 15.6250 |
| R | 3.1250 |
| RK | 3.1250 |
| V | 4.6875 |
| VAK | 12.5000 |
| VAR | 1.5625 |
| VARK | 34.3750 |
| VK | 1.5625 |
Visual modality
summary(focus$V)[1:6]
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000000 4.000000 6.000000 6.265625 8.000000 16.000000
Aural modality
summary(focus$A)[1:6]
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00000 5.00000 7.50000 7.53125 10.25000 15.00000
Read/write modality
summary(focus$R)[1:6]
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000000 4.000000 5.000000 5.734375 8.000000 12.000000
Kinesthetic modality
summary(focus$K)[1:6]
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000000 7.000000 9.000000 8.609375 11.000000 15.000000
aux <- gain[gain$Type=="Flipped Learning",]
aux <- aux[,c("Gain","V","A","R","K")]
aux <- aux[complete.cases(aux),]
corr <- c("V","A","R","K")
#estimate
Vcor <- cor.test(aux$V,aux$Gain, method = "pearson", use = "complete.obs")
corr <- c(corr,Vcor$estimate)
Acor <- cor.test(aux$A,aux$Gain, method = "pearson", use = "complete.obs")
corr <- c(corr,Acor$estimate)
Rcor <- cor.test(aux$R,aux$Gain, method = "pearson", use = "complete.obs")
corr <- c(corr,Rcor$estimate)
Kcor <- cor.test(aux$K,aux$Gain, method = "pearson", use = "complete.obs")
corr <- c(corr,Kcor$estimate)
#p-value
corr <- c(corr,Vcor$p.value)
corr <- c(corr,Acor$p.value)
corr <- c(corr,Rcor$p.value)
corr <- c(corr,Kcor$p.value)
corr <- as.data.frame(matrix(corr,nrow = 4))
names(corr) <- names <- c("Learning modality","Pearson correlation","p-value")
tab <- knitr::kable(corr, row.names = FALSE)
print(tab)
| Learning modality | Pearson correlation | p-value |
|---|---|---|
| V | -0.017886203095656 | 0.888438275773519 |
| A | 0.00988106868029863 | 0.938231815004538 |
| R | -0.0618271015605891 | 0.627440105288782 |
| K | 0.235001062194702 | 0.0615914615116797 |
Fleming, N., & Baume, D. (2006). Learning styles again: VARKing up the right tree!. Educational developments, 7(4)↩︎