Observational Data

Note to Eric: Temporary file to run after endline.

Descriptive statistics

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

Outliers

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?

Caregiver Total Verbalizations

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())

plot of chunk hist-caretotal

Child Total Verbalizations

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())

plot of chunk hist-childtotal

Change Over Time

Caregivers

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())

plot of chunk hist-carechange

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)

plot of chunk hist-carechange2

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())

plot of chunk care-gain

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)

plot of chunk care-gain2

Child

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())

plot of chunk hist-childchange

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)

plot of chunk hist-childchange2

Why Do Total Caregiver Verbalizations Shrink Overall?

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())

plot of chunk total-cper

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)

plot of chunk total-cper-t

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?

Praises

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())

plot of chunk praise