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.