Create a DataFrame#

The create_scd function allows you to create a structured DataFrame for single-case data analysis. It is designed to handle phase-based measurements and can include additional variables.

What Does create_scd Do?#

The create_scd function creates a single-case experimental design (SCED) DataFrame. It requires at least values, which represent the recorded data. Phases can be defined either using phase_starts (which specifies where each phase begins) or phase_design (which specifies how long each phase lasts).

Required Arguments:#

  • values: The primary data for your experiment (must be provided).

Optional Arguments:#

  • phase_starts: Define where each phase begins (e.g., {"A": 1, "B": 5}).

  • phase_design: Define how many measurements belong to each phase (e.g., {"A": 4, "B": 6}).

  • mt: A list of measurement time points (optional).

  • Extra variables (e.g., teacher, hour) can be included.

If no phase information is given, an error will be raised.

import scia as sc
📖 scia 1.101.0.dev6 - For Documentation, visit: https://ahsankhodami.github.io/scia/intro.html

Example 1: Defining Phases with phase_starts#

To create a simple dataset where phases are specified by their starting points:

df = sc.create_scd(
    values=[2,2,4,5,8,7,6,9,8,7],
    phase_starts={"A": 1, "B": 5}
)
print(df)
   values  mt phase
0       2   1     A
1       2   2     A
2       4   3     A
3       5   4     A
4       8   5     B
5       7   6     B
6       6   7     B
7       9   8     B
8       8   9     B
9       7  10     B

Example 2: Using phase_design#

Here, phases are defined by specifying how many measurements belong to each phase:

df = sc.create_scd(
    values=[2,2,4,5,8,7,6,9,8,7],
    mt=[1,2,3,6,8,9,11,12,16,18],
    phase_design={"A": 4, "B": 6}
)
print(df)
   values  mt phase
0       2   1     A
1       2   2     A
2       4   3     A
3       5   6     A
4       8   8     B
5       7   9     B
6       6  11     B
7       9  12     B
8       8  16     B
9       7  18     B

Example 3: Including Additional Variables#

Additional variables such as teacher and hour can be included:

df = sc.create_scd(
    values={"A": [2,2,3,5], "B": [8,7,6,9,7,7]},
    teacher=[0,0,1,1,0,1,1,1,0,1], 
    hour=[2,3,4,3,3,1,6,5,2,2]
)
print(df)
   teacher  hour  values  mt phase
0        0     2       2   1     A
1        0     3       2   2     A
2        1     4       3   3     A
3        1     3       5   4     A
4        0     3       8   5     B
5        1     1       7   6     B
6        1     6       6   7     B
7        1     5       9   8     B
8        0     2       7   9     B
9        1     2       7  10     B