scdf()
is the constructor for objects of class scdf
. It stores data from
single-case studies with one or more cases in a structured format suitable
for analysis with the scan
package.
Usage
scdf(
...,
B_start = NULL,
phase_starts = NULL,
phase_design = NULL,
name = NULL,
dvar = "values",
pvar = "phase",
mvar = "mt"
)
Arguments
- ...
One or more vectors representing measurement variables. See the Details section.
- B_start
The first measurement point of phase B (simple coding; only applicable if the design follows a strict AB pattern).
- phase_starts
A named vector defining the label and measurement time of each phase start. For example:
phase_starts = c(A1 = 1, B1 = 6, A2 = 14, B2 = 19)
.- phase_design
A named vector defining the length and label of each phase. For example:
phase_design = c(A1 = 10, B1 = 10, A2 = 10, B2 = 10)
.- name
Optional name for the case.
- dvar
Character string with the name of the dependent variable. Defaults to the attributes in the scdf file.
- pvar
Character string with the name of the phase variable. Defaults to the attributes in the scdf file.
- mvar
Character string with the name of the measurement time variable. Defaults to the attributes in the scdf file.
Details
If no variable matching the name of the dependent variable is
provided (the default name is values
, which can be changed via the dvar
argument), and the first provided variable is unnamed, that variable will
be interpreted as the dependent variable.
If no measurement-time variable is provided (default name mt
,
configurable via the mvar
argument), measurement times are automatically
defined as a sequence (1, 2, 3, ..., n)
.
If the dependent variable is a named vector, the names will be used to
define a phase design. For example, values = c(A = 2, 3, 5, 4, 3, B = 6, 5, 4, 3)
will be interpreted as an AB phase design with five measurements
in phase A and four in phase B.
If a vector matching the name of the phase variable is provided, it will be used to define the phase design directly.
See also
Other data manipulation functions:
add_l2()
,
as.data.frame.scdf()
,
as_scdf()
,
fill_missing()
,
moving_median()
,
outlier()
,
ranks()
,
rescale()
,
select_cases()
,
set_vars()
,
shift()
,
smooth_cases()
,
standardize()
,
truncate_phase()
Examples
## Scores on a letter naming task were collected on eleven days in a row.
## The intervention started after the fifth measurement,
## so the first B phase measurement was 6 (B_start = 6).
klaas <- scdf(
c(5, 7, 8, 5, 7, 12, 16, 18, 15, 14, 19),
B_start = 6, name = "Klaas"
)
describe(klaas)
#> Describe Single-Case Data
#>
#> Klaas
#> Design A-B
#> n.A 5
#> n.B 6
#> mis.A 0
#> mis.B 0
#>
#> Klaas
#> m.A 6.4
#> m.B 15.667
#> md.A 7
#> md.B 15.5
#> sd.A 1.342
#> sd.B 2.582
#> mad.A 1.483
#> mad.B 2.965
#> min.A 5
#> min.B 12
#> max.A 8
#> max.B 19
#> trend.A 0.2
#> trend.B 0.743
# Alternative: using named vector
klaas <- scdf(
c(A = 5, 7, 8, 5, 7, B = 12, 16, 18, 15, 14, 19),
name = "Klaas"
)
# Alternative: using phase_design
klaas <- scdf(
c(5, 7, 8, 5, 7, 12, 16, 18, 15, 14, 19),
phase_design = c(A = 5, B = 6), name = "Klaas"
)
# Alternative: using phase_starts
klaas <- scdf(
c(5, 7, 8, 5, 7, 12, 16, 18, 15, 14, 19),
phase_starts = c(A = 1, B = 7), name = "Klaas"
)
## Unfortunately in a similar study there were no data collected on
## days 3 and 9. Use NA to pass them to the function:
emmi <- scdf(c(5, 7, NA, 5, 7, 12, 16, 18, NA, 14, 19),
phase_design = c(A = 5, B = 6), name = "Emmi"
)
describe(emmi)
#> Describe Single-Case Data
#>
#> Emmi
#> Design A-B
#> n.A 5
#> n.B 6
#> mis.A 1
#> mis.B 1
#>
#> Emmi
#> m.A 6
#> m.B 15.8
#> md.A 6
#> md.B 16
#> sd.A 1.155
#> sd.B 2.864
#> mad.A 1.483
#> mad.B 2.965
#> min.A 5
#> min.B 12
#> max.A 7
#> max.B 19
#> trend.A 0.2
#> trend.B 0.779
## In a MBD over three cases, data were collected eleven days in a row.
## Intervention starting points differ between subjects as they were
## randomly assigned. The three SCDFs are then combined in a list for
## further conjoined analyses.
charlotte <- scdf(c(A = 5, 7, 10, 5, 12, B = 7, 10, 18, 15, 14, 19))
theresa <- scdf(c(A = 3, 4, 3, 5, B = 7, 4, 7, 9, 8, 10, 12))
tonia <- scdf(c(A = 9, 8, 8, 7, 5, 7, B = 6, 14, 15, 12, 16))
mbd <- c(charlotte, theresa, tonia)
names(mbd) <- c("Charlotte", "Theresa", "Tonia")
overlap(mbd)
#> Overlap Indices
#>
#> Comparing phase 1 against phase 2
#>
#> Charlotte Theresa Tonia
#> Design A-B A-B A-B
#> PND 67 86 80
#> PEM 83 100 80
#> PET 33 86 100
#> NAP 87 95 83
#> NAP rescaled 73 89 67
#> PAND 82 82 82
#> IRD 0.63 0.80 0.82
#> Tau_U(A) 0.37 0.52 0.63
#> Tau_U(BA) 0.49 0.71 0.69
#> Base_Tau 0.56 0.66 0.66
#> Diff_mean 6.03 4.39 5.27
#> Diff_trend 0.77 0.50 2.37
#> SMD 1.94 4.59 3.85
#> Hedges_g 1.37 1.87 1.70
## In a classroom-based intervention it was not possible to measure outcomes
## every day, but only on schooldays. The sequence of measurements is passed
## to the package by using a vector of measurement times.
frida <- scdf(
c(A = 3, 2, 4, 2, 2, 3, 5, 6, B = 8, 10, 8, 12, 14, 13, 12),
mt = c(1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18)
)
summary(frida)
#> #A single-case data frame with one case
#>
#> Measurements Design
#> Case1 15 A-B
#>
#> Variable names:
#> values <dependent variable>
#> phase <phase variable>
#> mt <measurement-time variable>
#>
describe(frida)
#> Describe Single-Case Data
#>
#> Case1
#> Design A-B
#> n.A 8
#> n.B 7
#> mis.A 0
#> mis.B 0
#>
#> Case1
#> m.A 3.375
#> m.B 11
#> md.A 3
#> md.B 12
#> sd.A 1.506
#> sd.B 2.38
#> mad.A 1.483
#> mad.B 2.965
#> min.A 2
#> min.B 8
#> max.A 6
#> max.B 14
#> trend.A 0.305
#> trend.B 0.71
## example with two independent variables and four phases
jim <- scdf(
zvt = c(47, 58, 76, 63, 71, 59, 64, 69, 72, 77, 76, 73),
d2 = c(131, 134, 141, 141, 140, 140, 138, 140, 141, 140, 138, 140),
phase_design = c(A1 = 3, B1 = 3, A2 = 3, B2 = 3), dvar = "zvt"
)
overlap(jim, phases = list(c("A1", "A2"), c("B1", "B2")))
#> Overlap Indices
#>
#> Comparing phases A1 + A2 against phases B1 + B2
#>
#> Case1
#> Design A1-B1-A2-B2
#> PND 17
#> PEM 67
#> PET 67
#> NAP 68
#> NAP rescaled 36
#> PAND 67
#> IRD 0.33
#> Tau_U(A) 0.07
#> Tau_U(BA) 0.14
#> Base_Tau 0.27
#> Diff_mean 5.5
#> Diff_trend -0.31
#> SMD 0.52
#> Hedges_g 0.56
#>
#> The following variables were used in this analysis:
#> 'zvt' as dependent variable, 'phase' as phase variable, and 'mt' as measurement-time variable.