Skip to main content

Data Management, Transforms & Workflow

Data management, transforms and workflow procedures in Statios: dataset loading and multi-dataset workflows, direct cell editing with undo/redo, spreadsheet-style formulas for derived variables, variable metadata configuration (types, labels, measurement levels), data transformations (compute, recode, categorize, standardize, filter, lag/lead, dummy), data manipulation (merge, reshape, aggregate, collapse, append, sort, subset, deduplicate, rank, transpose, split/concat columns, pivot), data-to-table formatting, and session/macro recording for reproducible workflows.

68 procedures · 2 with documented limitations. Every result is computed by the open Python engine and is exportable to APA tables and reports.

ProcedureWhat it doesStatusKey reference
Load DatasetLoad data from file (CSV, TSV, XLSX, SPSS .sav, Stata .dta, JSON) into active workspace.✅ Full—
Get Dataset InfoRetrieve metadata for active dataset: row/column counts, dtypes, missing cells, columnar status.✅ Full—
Get Data WindowFetch windowed rows (e.g., 100 rows at offset 0) for grid rendering.✅ Full—
Get Full ColumnsRetrieve whole columns for chart building; large datasets sampled with fixed seed for row alignment.✅ Full—
Get VariablesInferred variable metadata (type, measure, labels, value labels) merged with engine-owned overrides.✅ Full—
List DatasetsList all open datasets and current active dataset ID.✅ Full—
Switch Active DatasetSet a dataset as active (default target for all analyses and edits).✅ Full—
Close DatasetRemove a dataset from memory; clears associated undo/redo stacks.✅ Full—
Duplicate DatasetCreate independent copy of dataset with all metadata and current state.✅ Full—
Rename DatasetChange display name (in-memory; original file unchanged).✅ Full—
Export DatasetWrite active dataset to file (CSV, XLSX, SAV, DTA, JSON) with variable metadata.✅ Full—
Set Cell ValueEdit single cell; coerces value to column dtype; generates undo entry.✅ Full—
Undo Cell EditReverse last cell edit (stack cap 200 per dataset).✅ Full—
Redo Cell EditRestore undone cell edit.✅ Full—
Insert RowInsert blank row at index; structural edit clears undo stacks.✅ Full—
Delete RowRemove row at index; structural edit clears undo stacks.✅ Full—
Add VariableAppend new column (all-NaN or default name auto-generated).✅ Full—
Delete VariableRemove column; structural edit clears undo stacks.✅ Full—
Sort DatasetSort by column(s) ascending/descending; structural edit clears undo stacks.✅ Full—
Evaluate FormulaOne-off scalar formula (e.g., =A1+B1); returns value or Excel-style error code.✅ Full—
Apply Formula to ColumnFill formula down entire column as derived variable; stored for recomputation.✅ Full—
Recompute Derived ColumnsRecalculate all derived columns after data edits in dependency order; reports #REF! for missing inputs.✅ Full—
Get FormulasRetrieve stored formula metadata: source, refs (letter→column), anchor row, dependencies.✅ Full—
Set Variable TypeConvert column dtype (numeric/string/date/boolean) with honest failure accounting.✅ Full—
Set Measurement LevelAssign measure (nominal/ordinal/scale) for SPSS Variable View parity.✅ Full—
Set Value LabelsMap raw values to display labels (e.g., 1→'Yes', 0→'No'); empty list clears labels.✅ Full—
Auto-Encode CategoricalSPSS-style: text categories → numeric codes with inverse map as value labels.✅ Full—
Compute VariableCreate new variable from AST-safe expression (log, sqrt, abs, sin, cos, mean, std, +−*/). Stores result in new column.✅ Full—
Recode VariableMap values by pattern (e.g., '1-30'→'low', '31+'→'high') into new column.✅ Full—
Standardize VariableTransform to z-scores (mean 0, SD 1), min-max [0,1], or robust (median, IQR).✅ Full—
Categorize / BinConvert numeric to categories: equal-width, quantile-based, or custom breaks.✅ Full—
Filter Cases (Read-Only)Report which rows match a condition (e.g., age > 30); read-only—use data.subset to drop.✅ Full—
Create Dummy VariablesExpand categorical to 0/1 indicators; optionally drop first to avoid collinearity.✅ Full—
Lag / LeadShift values k periods forward/backward for time-series predictors.✅ Full—
Merge DatasetsSQL-like join (inner/left/right/outer/cross) on key column(s); reports match/unmatch counts.✅ Full—
Reshape LongConvert wide → long: multiple value columns become one 'value' + one 'variable' column.✅ Full—
Reshape WideConvert long → wide: spread key column values across columns.✅ Full—
Aggregate DataGroup by column(s) and compute summaries (mean/sum/count/etc.); produces new dataset.✅ Full—
Collapse DataSimilar to aggregate; summarize grouped data (default stats: mean, SD, N).✅ Full—
Append DatasetsVertically stack 2+ datasets (row-bind); common columns aligned.✅ Full—
Sort DatasetSort by column(s) ascending/descending; optionally replace active or create new dataset.✅ Full—
Subset / FilterKeep rows matching condition (AST-safe); replace active dataset.✅ Full—
DeduplicateRemove duplicate rows (keep first/last/none); optionally subset columns first.✅ Full—
Transpose DatasetFlip rows ↔ columns; optionally use one column as new row index.✅ Full—
Split ColumnSplit text column by separator into multiple new columns.✅ Full—
Concatenate ColumnsJoin 2+ columns into one (e.g., first + last → fullname).✅ Full—
Rank VariableConvert to ranks (1,2,3...); methods: average (ties split), min/max, dense, ordinal.✅ Full—
Crosstab CountsBuild contingency table (row × col) from two categorical variables; include marginals.✅ Full—
Pivot Longer (Complex)Advanced wide→long: regex on column names extracts multiple groups into separate columns.✅ Full—
Save SessionPersist all datasets, variable metadata, and output history to .stios JSON.✅ Full—
Load SessionRestore datasets, metadata, and outputs from .stios; repopulates DatasetManager.✅ Full—
Session InfoRead session metadata (creation date, version, dataset names, row/col counts).✅ Full—
Session DiffCompare two .stios files; report differences in datasets and outputs.✅ Full—
Start Macro RecordingBegin recording user actions (transforms, analyses) for later replay.✅ Full—
Stop Macro RecordingEnd current macro recording session.✅ Full—
Save MacroWrite recorded actions to .sfmacro JSON file.✅ Full—
Load MacroRead .sfmacro file; return actions ready to replay.✅ Full—
Replay MacroExecute recorded actions in sequence (transform.compute, data.*, etc.) on current dataset.✅ Full—
Session UndoReverse a logged action by ID (currently stub; per-dataset cell undo used instead).⚠️ Limited—
Session RedoRestore undone action by ID (currently stub; per-dataset cell redo used instead).⚠️ Limited—
Export ScriptConvert recorded macro actions to Python or R script (reproducible workflow).✅ Full—
Regression TableFormat regression results (multiple model specs) in APA/HTML/LaTeX table.✅ Full—
Descriptives TableFormat descriptive statistics by groups in APA/HTML/LaTeX table.✅ Full—
Correlation TableFormat correlation matrix in APA/HTML/LaTeX; supports Pearson, Spearman, Kendall.✅ Full—
Crosstab TableFormat contingency table (observed, expected, residuals) in APA/HTML/LaTeX.✅ Full—
Model Comparison TableSide-by-side regression models with fit statistics and significance stars.✅ Full—
ANOVA TableFormat one-way/repeated-measures ANOVA table in APA/HTML/LaTeX.✅ Full—
Factor Loading TableFormat EFA/PCA loadings with rotation (varimax, promax, etc.).✅ Full—

Notes & limitations​

  • Session Undo — Session-level undo not fully wired; edit.undo handles cell-level reversals.
  • Session Redo — Session-level redo not fully wired; edit.redo handles cell-level reversals.