Note to Eric: Temporary file to run after endline.
Limited to complete cases (baseline-endline and caregiver-child).
describeBy(dat[c(4:5, 7:20)], group = dat$time)
## group: b
## var n mean sd median trimmed mad min max range
## careGain 1 230 -25.13 44.51 -24.00 -25.24 37.06 -200 246.00 446.00
## childGain 2 230 39.89 67.11 33.00 37.16 51.89 -194 248.00 442.00
## NTA 3 230 2.11 2.90 1.00 1.57 1.48 0 24.00 24.00
## DC 4 230 21.32 14.66 18.00 19.83 13.34 0 68.00 68.00
## IC 5 230 2.68 3.25 2.00 2.07 2.97 0 19.00 19.00
## LP 6 230 0.10 0.43 0.00 0.00 0.00 0 4.00 4.00
## UP 7 230 1.08 2.18 0.00 0.55 0.00 0 15.00 15.00
## RF 8 230 0.92 5.77 0.00 0.18 0.00 0 82.00 82.00
## BD 9 230 0.34 0.93 0.00 0.12 0.00 0 8.00 8.00
## TA 10 230 23.08 27.47 15.00 18.85 14.83 0 269.00 269.00
## QU 11 230 11.93 10.62 9.50 10.55 9.64 0 49.00 49.00
## careVerb 12 230 63.56 37.04 58.50 59.98 31.88 1 285.00 284.00
## carePraises 13 230 1.18 2.31 0.00 0.61 0.00 0 15.00 15.00
## carePraisesN 14 230 0.02 0.04 0.00 0.01 0.00 0 0.29 0.29
## NTAN 15 230 0.04 0.05 0.02 0.03 0.03 0 0.44 0.44
## childVerb 16 230 46.29 51.19 34.00 37.45 38.55 0 389.00 389.00
## skew kurtosis se
## careGain 0.61 6.18 2.93
## childGain 0.31 0.82 4.43
## NTA 2.81 14.01 0.19
## DC 0.92 0.41 0.97
## IC 2.17 5.88 0.21
## LP 5.88 40.80 0.03
## UP 3.12 11.95 0.14
## RF 12.51 168.78 0.38
## BD 4.59 27.46 0.06
## TA 4.68 33.97 1.81
## QU 1.07 0.79 0.70
## careVerb 1.59 5.61 2.44
## carePraises 2.97 10.38 0.15
## carePraisesN 3.36 15.56 0.00
## NTAN 2.97 15.50 0.00
## childVerb 2.51 10.18 3.38
## --------------------------------------------------------
## group: e
## var n mean sd median trimmed mad min max range
## careGain 1 230 -25.13 44.51 -24 -25.24 37.06 -200 246.00 446.00
## childGain 2 230 39.89 67.11 33 37.16 51.89 -194 248.00 442.00
## NTA 3 230 0.81 1.58 0 0.45 0.00 0 12.00 12.00
## DC 4 230 11.56 8.93 9 10.36 5.93 0 70.00 70.00
## IC 5 230 1.14 1.59 1 0.83 1.48 0 9.00 9.00
## LP 6 230 0.07 0.29 0 0.00 0.00 0 2.00 2.00
## UP 7 230 1.34 2.47 0 0.79 0.00 0 19.00 19.00
## RF 8 230 0.10 0.40 0 0.00 0.00 0 4.00 4.00
## BD 9 230 0.13 0.39 0 0.01 0.00 0 3.00 3.00
## TA 10 230 16.16 24.83 7 11.35 7.41 0 255.00 255.00
## QU 11 230 7.11 6.88 5 5.99 5.93 0 37.00 37.00
## careVerb 12 230 38.42 28.88 29 34.09 17.05 2 256.00 254.00
## carePraises 13 230 1.41 2.63 0 0.82 0.00 0 21.00 21.00
## carePraisesN 14 230 0.04 0.07 0 0.03 0.00 0 0.33 0.33
## NTAN 15 230 0.02 0.03 0 0.01 0.00 0 0.19 0.19
## childVerb 16 230 86.18 65.44 71 79.48 58.56 0 379.00 379.00
## skew kurtosis se
## careGain 0.61 6.18 2.93
## childGain 0.31 0.82 4.43
## NTA 3.51 16.73 0.10
## DC 2.18 8.68 0.59
## IC 1.89 4.37 0.10
## LP 4.40 20.50 0.02
## UP 3.46 16.11 0.16
## RF 5.85 44.43 0.03
## BD 3.67 16.30 0.03
## TA 4.89 37.52 1.64
## QU 1.63 3.08 0.45
## careVerb 2.67 13.50 1.90
## carePraises 3.58 17.49 0.17
## carePraisesN 1.97 3.74 0.00
## NTAN 2.01 4.20 0.00
## childVerb 1.03 1.26 4.31
Is there a max possible number of verbalizations in an observational session? Look at the max for careVerb and childVerb at baseline (b) and endline (e) in the above table.
If these numbers exceed what you think is possible given the amount of time for the task, we either have a coding problem or a timing problem. Do you have task times documented, e.g., length of each recording?
If max values are possible, then we can look at removing a few outliers.
ggplot(dat, aes(x = careVerb)) + geom_histogram(binwidth = 10) + facet_wrap(~time) +
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
ggplot(dat, aes(x = childVerb)) + geom_histogram(binwidth = 10) + facet_wrap(~time) +
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
There is a big reduction in total verbalizations from baseline to endline, as shown in the following plot.
ggplot(dat, aes(x = careVerb, fill = time)) + geom_histogram(binwidth = 10,
alpha = 0.5, position = "identity") + theme(panel.background = element_blank(),
panel.grid.major = element_blank(), panel.grid.minor = element_blank())
This “shinking”“ looks fairly similar by control (0) and treatment (1).
ggplot(dat, aes(x = careVerb, fill = time)) + geom_histogram(binwidth = 10,
alpha = 0.5, position = "identity") + theme(panel.background = element_blank(),
panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
facet_wrap(~treatment)
Another way to look at this is to visualize gain scores. Lots of negative observations.
ggplot(dat, aes(x = careGain)) + geom_histogram(binwidth = 10) + theme(panel.background = element_blank(),
panel.grid.major = element_blank(), panel.grid.minor = element_blank())
Any by treatment assignment.
ggplot(dat, aes(x = careGain)) + geom_histogram(binwidth = 10) + theme(panel.background = element_blank(),
panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
facet_wrap(~treatment)
On the other hand, child verbalizations increase overall from baseline to endline.
ggplot(dat, aes(x = childVerb, fill = time)) + geom_histogram(binwidth = 10,
alpha = 0.5, position = "identity") + theme(panel.background = element_blank(),
panel.grid.major = element_blank(), panel.grid.minor = element_blank())
This happens in both groups.
ggplot(dat, aes(x = childVerb, fill = time)) + geom_histogram(binwidth = 10,
alpha = 0.5, position = "identity") + theme(panel.background = element_blank(),
panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
facet_wrap(~treatment)
One reason might be that children are talking more during the task relative to caregivers. To test this, we calculate the total verbalizations (child + caregiver) and then calculate the child verbalization percentage.
dat$allVerb <- rowSums(dat[c("careVerb", "childVerb")], na.rm = TRUE)
dat$allVerb.pChild <- (dat$childVerb/dat$allVerb) * 100
describeBy(dat[21:22], group = dat$time)
## group: b
## var n mean sd median trimmed mad min max range
## allVerb 1 230 109.84 65.08 100.50 103.04 57.82 1 468.00 467.00
## allVerb.pChild 2 230 35.36 24.16 31.14 33.91 27.07 0 93.33 93.33
## skew kurtosis se
## allVerb 1.71 5.85 4.29
## allVerb.pChild 0.43 -0.74 1.59
## --------------------------------------------------------
## group: e
## var n mean sd median trimmed mad min max range
## allVerb 1 230 124.60 67.57 112.00 119.39 68.20 4 381.00 377.00
## allVerb.pChild 2 230 61.64 25.90 69.07 64.56 24.16 0 99.48 99.48
## skew kurtosis se
## allVerb 0.80 0.67 4.46
## allVerb.pChild -0.83 -0.14 1.71
Next we plot a histogram of child percentages. It's pretty clear that children account for more of the total verbalization at endline relative to baseline.
ggplot(dat, aes(x = allVerb.pChild, fill = time)) + geom_histogram(binwidth = 3,
alpha = 0.5, position = "identity") + theme(panel.background = element_blank(),
panel.grid.major = element_blank(), panel.grid.minor = element_blank())
A pattern that we see across treatment and control groups.
ggplot(dat, aes(x = allVerb.pChild, fill = time)) + geom_histogram(binwidth = 4,
alpha = 0.5, position = "identity") + theme(panel.background = element_blank(),
panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
facet_wrap(~treatment)
Overall, the reduction in caregiver verbalizations from baseline to endline makes sense in the context of increasing child verbalizations. Unfortunately, we don't see any treatment effects on verbalizations.
A lingering question: why do we see changes in the nature of child-caregiver communications from baseline to endline among the CONTROL group?
If the observational task is valid, we might consider why we did not see an impact on the absolute number of praises.
dat.end <- dat[dat$time == "e", ]
ggplot(dat.end, aes(x = carePraises, fill = factor(treatment))) + geom_histogram(binwidth = 1,
alpha = 0.5, position = "identity") + theme(panel.background = element_blank(),
panel.grid.major = element_blank(), panel.grid.minor = element_blank())