Guide for creating DAAF agent definition files. Covers 12-section template, hook registration, skills-in-frontmatter, integration checklist. Use when adding or revising agents. For SKILL.md files, use skill-authoring instead.
中文简介正在准备中。当前显示原文说明。
Stata-to-Python translation for data analysis. Maps Stata commands (reghdfe, xtreg, ivregress, margins, esttab, svy:) to Python (polars, pyfixest, statsmodels, svy). Use when user has Stata background or requests Stata-equivalent code comments in Python pipelines.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Stata-to-Python translation reference for quantitative social science data analysis. Maps Stata commands and packages (reghdfe, xtreg, ivregress, margins, esttab, svy:, graph twoway) to DAAF Python equivalents (polars, pyfixest, statsmodels, linearmodels, marginaleffects, svy, plotnine). Use when user mentions Stata background, requests Stata-equivalent code comments, needs to understand Python analysis code from a Stata perspective, or wants to translate Stata data analysis concepts to Python. Covers paradigm differences, command-by-command operation translations, regression modeling, causal inference, visualization, and workflow adaptation.
Cross-language translation reference for researchers moving between the Stata and Python data analysis ecosystems. This skill maps Stata commands, idioms, and workflows to their DAAF Python equivalents so that Stata-background users can audit, understand, and learn from DAAF-produced code, and so that code-producing agents can annotate their output with Stata equivalents when directed.
This skill is a routing hub -- it provides overview tables, decision trees, and directs readers to the detailed reference files listed below. The reference files contain the exhaustive command-by-command mappings, code examples, and edge-case documentation.
Use cases:
Each topic in ./references/ contains focused documentation:
| File | Purpose | When to Read |
|---|---|---|
paradigm-differences.md | Core language and paradigm differences (single-dataset model, missing values, value labels, macros, by:/_n/_N) | Encountering fundamental Stata-vs-Python confusion |
data-management.md | gen/replace/keep/drop/sort/merge/append/reshape/collapse/egen to polars | Reading or writing data manipulation code |
strings-dates-labels.md | String functions, date epoch, value labels, encode/decode | Working with string, date, or categorical columns |
regression-modeling.md | regress/areg/reghdfe/xtreg/ivregress/logit/probit/margins/test/esttab to pyfixest/statsmodels/linearmodels | Reading or writing regression code |
causal-inference.md | DiD/RDD/IV/event studies/synthetic control/matching | Working with causal inference methods |
visualization.md | graph twoway/bar/box/histogram to plotnine/plotly | Reading or writing visualization code |
survey-spatial-ml.md | svy: commands, spatial data, machine learning | Working with surveys, spatial data, or ML |
workflow-environment.md | Do-files/log/macros/ado/ssc to Python/DAAF execution model | Adapting to DAAF's execution model |
external-resources.md | Curated guides and tutorials with provenance | Seeking additional learning materials |
gotchas.md | Common Stata-user mistakes in Python | Debugging or reviewing code from Stata perspective |
paradigm-differences.md then the relevant domain file (e.g., data-management.md for wrangling, regression-modeling.md for models) then gotchas.mdparadigm-differences.md then data-management.md then workflow-environment.md then external-resources.mdWhat kind of Stata command?
+- Data management (gen, replace, keep, drop, merge, reshape, collapse)
| +-- ./references/data-management.md
+- Group operations (by:, bysort, egen)
| +-- ./references/data-management.md
+- Regression / estimation (regress, areg, reghdfe, xtreg, logit, probit)
| +-- ./references/regression-modeling.md
+- Post-estimation (margins, test, lincom, nlcom, predict, esttab)
| +-- ./references/regression-modeling.md
+- Causal inference (diff, did_multiplegt, rdrobust, teffects, synth)
| +-- ./references/causal-inference.md
+- Surveys (svyset, svy:)
| +-- ./references/survey-spatial-ml.md
+- Plotting (graph twoway, histogram, graph bar)
| +-- ./references/visualization.md
+- String/date manipulation (substr, strpos, date, mdy)
| +-- ./references/strings-dates-labels.md
+- Value labels (label define, encode, decode)
| +-- ./references/strings-dates-labels.md
+-- Programming (local, global, foreach, forvalues, tempvar, preserve)
+-- ./references/workflow-environment.md
What looks unfamiliar?
+- Expression syntax (pl.col().method().alias())
| +-- ./references/paradigm-differences.md
+- Missing values (None vs NaN vs null vs .)
| +-- ./references/paradigm-differences.md
+- No single "dataset" -- multiple DataFrames everywhere
| +-- ./references/paradigm-differences.md
+- Value labels missing from output
| +-- ./references/paradigm-differences.md
+- Regression output structure (model objects vs e()/r())
| +-- ./references/regression-modeling.md
+- No `by:` prefix -- .over() and .group_by() instead
| +-- ./references/paradigm-differences.md
+-- Import statements and namespacing
+-- ./references/gotchas.md
What does the do-file do?
+- Loads and wrangles data (use, gen, replace, keep, merge, collapse)
| +-- ./references/data-management.md
+- Runs regressions (regress, xtreg, reghdfe, ivregress)
| +-- ./references/regression-modeling.md
+- Creates tables (esttab, outreg2, margins)
| +-- ./references/regression-modeling.md
+- Creates plots (graph twoway, histogram)
| +-- ./references/visualization.md
+- Uses survey weights (svyset, svy:)
| +-- ./references/survey-spatial-ml.md
+- Multiple of the above
| +-- Start with ./references/paradigm-differences.md, then each relevant file
+-- Uses macros, loops, or programs
+-- ./references/workflow-environment.md
What went wrong?
+- Missing values behaving differently than expected
| +-- ./references/paradigm-differences.md
+- gen/replace pattern not translating
| +-- ./references/gotchas.md
+- Merge producing wrong results (no _merge diagnostic)
| +-- ./references/gotchas.md
+- Model output looks different from Stata
| +-- ./references/regression-modeling.md
+- Off-by-one error (0-indexed vs 1-indexed)
| +-- ./references/gotchas.md
+- `by:` / `_n` / `_N` not available
| +-- ./references/paradigm-differences.md
+-- Macro syntax not working
+-- ./references/gotchas.md
Which Stata command?
+- regress / areg / reghdfe -> pyfixest
| +-- ./references/regression-modeling.md
+- xtreg (fe/re) -> pyfixest (FE) / linearmodels (RE)
| +-- ./references/regression-modeling.md
+- ivregress / ivreg2 / ivreghdfe -> pyfixest / linearmodels
| +-- ./references/regression-modeling.md
+- logit / probit / ologit / mlogit -> statsmodels
| +-- ./references/regression-modeling.md
+- poisson / nbreg / ppmlhdfe -> statsmodels / pyfixest fepois
| +-- ./references/regression-modeling.md
+- margins / marginsplot -> marginaleffects
| +-- ./references/regression-modeling.md
+- esttab / outreg2 -> pf.etable()
| +-- ./references/regression-modeling.md
+- test / lincom / nlcom -> pyfixest .wald_test() / marginaleffects hypotheses()
| +-- ./references/regression-modeling.md
+- gen / replace / drop / keep / sort -> polars
| +-- ./references/data-management.md
+- merge / append -> polars .join() / pl.concat()
| +-- ./references/data-management.md
+- collapse / egen -> polars .group_by().agg() / .over()
| +-- ./references/data-management.md
+- reshape long/wide -> polars .unpivot() / .pivot()
| +-- ./references/data-management.md
+- graph twoway / histogram / graph bar -> plotnine / plotly
| +-- ./references/visualization.md
+- svyset / svy: -> svy package
| +-- ./references/survey-spatial-ml.md
+- rdrobust -> rdrobust (Python, same authors)
| +-- ./references/causal-inference.md
+- binscatter -> binsreg (Python, same authors)
| +-- ./references/causal-inference.md
+- synth -> scpi (Python, same authors)
| +-- ./references/causal-inference.md
+-- ado-file / ssc install -> pip install
+-- ./references/workflow-environment.md
| Stata Command(s) | Python Package | Fidelity | Key Difference |
|---|---|---|---|
regress, areg, reghdfe | pyfixest | High | Near-identical formula syntax; | for FE absorption |
xtreg, fe | pyfixest | High | No xtset needed; FE specified in formula |
xtreg, re | linearmodels | Medium | Requires pandas MultiIndex for panel structure |
ivregress, ivreg2, ivreghdfe | pyfixest / linearmodels | High | Three-part formula for IV in pyfixest |
logit, probit, ologit, mlogit | statsmodels | Medium | Requires .fit(); C() for categoricals in formulas |
poisson, ppmlhdfe | statsmodels / pyfixest fepois | High | fepois for Poisson with multi-way FE |
margins, marginsplot | marginaleffects | Medium | Separate package; different function names |
esttab, outreg2 | pyfixest etable() | High | pf.etable([m1, m2]) produces publication tables |
gen, replace, drop, keep, sort | polars | Low | Expression system vs imperative commands; immutable DataFrames |
merge, append | polars .join(), pl.concat() | Medium | No automatic _merge diagnostic |
collapse, egen | polars .group_by().agg(), .over() | Medium | Must choose aggregation vs window explicitly |
reshape long/wide | polars .unpivot(), .pivot() | Medium | No in-place reshape; column naming differs |
graph twoway, histogram, graph bar | plotnine / plotly | Low | Declarative grammar of graphics vs imperative graph syntax |
svyset, svy: | svy | Medium | Explicit Design/Sample objects instead of persistent svyset |
rdrobust, rdplot | rdrobust (Python) | Very High | Same authors; nearly identical API |
binscatter, binsreg | binsreg (Python) | Very High | Same authors; nearly identical API; not pre-installed |
synth | scpi | High | Same authors; includes prediction intervals; not pre-installed |
local, global, foreach, forvalues | Python variables, f-strings, for loops | Low | Fundamentally different paradigm (text substitution vs value binding) |
Fidelity key: Very High = same authors, near-identical API. High = same capability, similar syntax. Medium = same capability, different API patterns. Low = fundamentally different paradigm requiring conceptual remapping.
Translations in this skill reference specific library versions. Python versions are pinned in DAAF's Docker environment (Python 3.12). Stata versions reference the current release as of March 2026. When syntax or behavior has changed between versions, the reference files note the change.
| Python Package | DAAF Version | Stata Equivalent | Stata Version |
|---|---|---|---|
| polars | 1.39.3 | Data management commands (gen, replace, merge, etc.) | Stata 18 |
| pyfixest | 0.60.0 | regress, areg, reghdfe, ivreghdfe, ppmlhdfe, esttab | Stata 18 + reghdfe 6.x |
| statsmodels | 0.14.6 | regress, logit, probit, poisson, nbreg, glm | Stata 18 |
| linearmodels | 7.0 | xtreg, sureg, ivregress | Stata 18 |
| plotnine | 0.15.3 | graph twoway, graph bar, graph box, histogram | Stata 18 |
| plotly | 6.5.2 | (no direct Stata equivalent; interactive charts) | N/A |
| svy | 0.19.0 | svyset, svy: prefix commands | Stata 18 |
| marginaleffects | 0.5.0 | margins, marginsplot, lincom, nlcom | Stata 18 |
| rdrobust | 1.3.0 | rdrobust, rdplot, rdbwselect | rdrobust (SSC) |
| binsreg | not pre-installed | binsreg, binscatter | binsreg (SSC) |
| scpi | not pre-installed | synth, synth_runner | synth (SSC) |
| scikit-learn | 1.8.0 | (limited; teffects, psmatch2 partially) | Stata 18 |
| marimo | 0.19.11 | (no equivalent; replaces do-file + log workflow) | N/A |
Package availability: The core mappings above (
polars,pyfixest,statsmodels,plotnine,svy) pluslinearmodels(7.0),marginaleffects(0.5.0), andrdrobust(1.3.0) are version-pinned in DAAF's Dockerfile and pre-installed.binsregandscpiare NOT pre-installed, and runtime installs are blocked in DAAF (pip installis refused both at the command line and inside executed scripts — see CLAUDE.md § Runtime Package Installation). If one is genuinely required, escalate to the user to add it to the Dockerfile (user additions block) and rebuild before use. Translations reference the documented APIs as of March 2026.
Stata version note: Stata 18 is the current release as of March 2026. Most command
mappings apply to Stata 15+; version-specific features (frames, hdidregress) are noted
in the reference files.
These are the friction points Stata users encounter most frequently when reading or writing DAAF Python code. Each is covered in depth in the referenced file.
| # | Friction Point | Stata Way | Python Way | Reference |
|---|---|---|---|---|
| 1 | Single-dataset model | One dataset in memory; commands implicit | Multiple DataFrames as variables; must specify which | paradigm-differences.md |
| 2 | Missing values | . = +infinity; 27 types (.a-.z) | null excluded from comparisons; one null type; NaN distinct | paradigm-differences.md |
| 3 | Value labels | Three-layer system (data, variable, value labels) | No built-in equivalent; dictionaries or Enum types | paradigm-differences.md |
| 4 | by:/_n/_N system | bysort group: gen x = _N | .over("group") (window) vs .group_by().agg() (collapse) | paradigm-differences.md |
| 5 | In-place modification | replace var = expr modifies data directly | df = df.with_columns(...) returns new DataFrame | paradigm-differences.md |
| 6 | Macro system | `local' and $global text substitution | Python variables + f-strings | paradigm-differences.md |
| 7 | .fit() required | regress y x auto-fits and prints | smf.ols("y ~ x", data=df).fit() -- two steps | regression-modeling.md |
| 8 | Expression system | gen z = x * 2 (bare column names) | df.with_columns((pl.col("x") * 2).alias("z")) | data-management.md |
| 9 | Merge diagnostics | _merge variable (1/2/3) automatic | No automatic merge indicator; must add explicitly | gotchas.md |
| 10 | 1-based vs 0-based indexing | _n starts at 1; var[1] = first obs | Python indices start at 0 | gotchas.md |
This section defines when and how code-producing agents add inline Stata-equivalent comments to DAAF Python scripts.
Annotations are added only when the orchestrator explicitly passes a Stata-background directive to the agent. This is not a default behavior.
Trigger conditions (orchestrator activates this when any apply):
How the orchestrator passes the directive: The orchestrator adds the following to the agent prompt:
"User has Stata background. Load stata-python-translation skill. Add inline Stata-equivalent comments for non-trivial data operations."
# Stata: gen log_income = log(income)
df = df.with_columns(pl.col("income").log().alias("log_income"))
# Stata: bysort state: egen mean_score = mean(test_score)
df = df.with_columns(
pl.col("test_score").mean().over("state").alias("mean_score")
)
# Stata: reghdfe wage education experience, absorb(industry year) cluster(state)
fit = pf.feols("wage ~ education + experience | industry + year",
data=pdf, vcov={"CRV1": "state"})
# Stata: drop if missing(income)
df = df.filter(pl.col("income").is_not_null())
# Stata: merge 1:1 school_id using "districts.dta", keep(3) nogen
df = df.join(districts, on="school_id", how="inner")
print()/assert validation lines, file I/O boilerplate (pl.read_parquet, df.write_parquet), config sections, section separator comments# Stata: comment per logical operation, placed on the line immediately above the Python code# INTENT:, # REASONING:, # ASSUMES:), not a replacement| Skill | Relationship |
|---|---|
polars | Python-side data wrangling -- detailed API reference for the gen/replace/merge/collapse equivalent |
pyfixest | Python-side fixed effects regression -- detailed API for the regress/reghdfe/ivregress equivalent |
plotnine | Python-side static visualization -- detailed API for the graph twoway equivalent |
plotly | Python-side interactive visualization -- no direct Stata equivalent |
statsmodels | Python-side general modeling -- covers logit, probit, poisson, nbreg, glm equivalents |
linearmodels | Python-side panel/IV models -- covers xtreg, sureg, ivregress equivalents |
scikit-learn | Python-side ML -- covers limited teffects/matching equivalents |
svy | Python-side survey analysis -- covers svyset and svy: prefix command equivalents |
geopandas | Python-side spatial data -- covers Stata spmap/spregress equivalents |
marimo | Python-side notebooks -- replaces do-file + log workflow |
r-python-translation | Parallel skill for R-background users -- shares the same Python target stack |
stata-r-translation | Reverse direction -- maps Stata commands to R equivalents for Stata-background users working in R |
Note: Individual tool skills contain library-specific usage guidance (syntax, gotchas, performance). This skill provides the Stata-to-Python conceptual bridge -- use both together when a Stata-background user is working with a specific library.
| Topic | Reference File |
|---|---|
| Single-dataset model (one dataset in memory) | ./references/paradigm-differences.md |
| Missing values (. vs None/NaN/null) | ./references/paradigm-differences.md |
| Extended missing values (.a-.z) | ./references/paradigm-differences.md |
| Value labels (label define, label values) | ./references/paradigm-differences.md |
| Variable labels (label variable) | ./references/paradigm-differences.md |
| by: prefix and _n/_N system variables | ./references/paradigm-differences.md |
| In-place modification vs immutable DataFrames | ./references/paradigm-differences.md |
| Macro system (local, global) | ./references/paradigm-differences.md |
| Estimation and e()/r() stored results | ./references/paradigm-differences.md |
| Type system (destring/tostring vs .cast()) | ./references/paradigm-differences.md |
| Panel data operators (L./F./D. vs .shift()/.over()) | ./references/paradigm-differences.md |
| Package model (ssc install vs pip install) | ./references/paradigm-differences.md |
| gen / replace / rename | ./references/data-management.md |
| drop / keep (variables and observations) | ./references/data-management.md |
| sort / gsort | ./references/data-management.md |
| merge 1:1 / m:1 / 1:m | ./references/data-management.md |
| append | ./references/data-management.md |
| reshape long / reshape wide | ./references/data-management.md |
| collapse (aggregation) | ./references/data-management.md |
| egen functions (mean, sum, count, rowtotal, group, tag) | ./references/data-management.md |
| encode / decode | ./references/strings-dates-labels.md |
| String functions (substr, strpos, subinstr, regexm) | ./references/strings-dates-labels.md |
| Date system (epoch, %td, mdy(), date()) | ./references/strings-dates-labels.md |
| destring / tostring | ./references/strings-dates-labels.md |
| regress (OLS) | ./references/regression-modeling.md |
| areg / reghdfe (fixed effects) | ./references/regression-modeling.md |
| xtreg fe / xtreg re (panel models) | ./references/regression-modeling.md |
| ivregress / ivreg2 / ivreghdfe (IV) | ./references/regression-modeling.md |
| logit / probit / ologit / mlogit | ./references/regression-modeling.md |
| poisson / nbreg / ppmlhdfe | ./references/regression-modeling.md |
| sureg (seemingly unrelated regression) | ./references/regression-modeling.md |
| margins / marginsplot (marginal effects) | ./references/regression-modeling.md |
| test / lincom / nlcom (hypothesis testing) | ./references/regression-modeling.md |
| esttab / outreg2 (regression tables) | ./references/regression-modeling.md |
| predict (fitted values, residuals) | ./references/regression-modeling.md |
| Robust and clustered standard errors | ./references/regression-modeling.md |
| Factor variable notation (i., c., #, ##) | ./references/regression-modeling.md |
| diff / did_multiplegt / csdid (DiD) | ./references/causal-inference.md |
| eventstudyinteract / event studies | ./references/causal-inference.md |
| rdrobust / rdplot (regression discontinuity) | ./references/causal-inference.md |
| teffects / psmatch2 / cem (matching) | ./references/causal-inference.md |
| synth / synth_runner (synthetic control) | ./references/causal-inference.md |
| binscatter / binsreg | ./references/causal-inference.md |
| graph twoway scatter / line / area / connected | ./references/visualization.md |
| graph bar / graph box / histogram / kdensity | ./references/visualization.md |
| graph export | ./references/visualization.md |
| coefplot / iplot | ./references/visualization.md |
| svyset / svy: prefix | ./references/survey-spatial-ml.md |
| svy: mean / total / proportion / ratio | ./references/survey-spatial-ml.md |
| svy: regress / logit | ./references/survey-spatial-ml.md |
| Spatial data analysis | ./references/survey-spatial-ml.md |
| Machine learning (teffects, matching workarounds) | ./references/survey-spatial-ml.md |
| Do-file execution model | ./references/workflow-environment.md |
| Log files (log using) | ./references/workflow-environment.md |
| Ado-files and ssc install | ./references/workflow-environment.md |
| Macros in loops (foreach, forvalues) | ./references/workflow-environment.md |
| tempvar / tempfile / preserve / restore | ./references/workflow-environment.md |
| quietly / capture / noisily | ./references/workflow-environment.md |
| Curated Stata-to-Python migration guides | ./references/external-resources.md |
| Textbooks with trilingual code (Stata/R/Python) | ./references/external-resources.md |
| Package documentation links | ./references/external-resources.md |
| Tutorial recommendations with provenance | ./references/external-resources.md |
| gen/replace pattern not translating | ./references/gotchas.md |
| Missing value comparison traps | ./references/gotchas.md |
| drop if -> filter(NOT) negation trap | ./references/gotchas.md |
| Merge without _merge diagnostics | ./references/gotchas.md |
| egen rowtotal missing-value behavior | ./references/gotchas.md |
| .fit() forgotten in statsmodels | ./references/gotchas.md |
| Robust SE syntax differences | ./references/gotchas.md |
| 0-based vs 1-based indexing | ./references/gotchas.md |
| Macro syntax in Python context | ./references/gotchas.md |
| Error message translation table | ./references/gotchas.md |
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Guide for creating DAAF agent definition files. Covers 12-section template, hook registration, skills-in-frontmatter, integration checklist. Use when adding or revising agents. For SKILL.md files, use skill-authoring instead.
中文简介正在准备中。当前显示原文说明。
Researcher-facing analytic triangulation ("creative verification") for stress-testing provisional findings and designing pre-specified challenges before an analysis runs. Turns a researcher's concern or focal claim into competing explanations, bounded discriminating tests, audited diagnostic artifacts, and evidence-calibrated interpretations in a hypothesis/evidence ledger — behavioral, output-level verification replacing line-by-line code review. Covers 12 challenge families organized by Shadish-Cook-Campbell validity type, named sensitivity statistics, pre-committed interpretation rules, anti-fishing guardrails, and interactive diagnostic-artifact QA. Use in Ad Hoc Collaboration to verify, challenge, or stress-test a result, or to design discriminating tests before an analysis runs. Not code-change verification (verify skill / code review) and not final adjudication or re-execution (data-verifier, Reproducibility Verification) — prospective, hypothesis-driven challenge design of analytic claims.
中文简介正在准备中。当前显示原文说明。
In-situ smoke testing that verifies a LIVE DAAF deployment functions end-to-end in whatever provider route it is configured for. Auto-detects the active install route (anthropic-subscription, openrouter, chatgpt-subscription shim, openai-api shim) and runs tiered probes: Tier 0 free preflight (route/env coherence, hooks, statuslines, shim health); Tier 1 one live round-trip (~cents); Tier 2 a six-probe functional battery (dispatch, coding, web, skill loading, isolation-strip, nested-dispatch deny); Tier D a zero-cost deterministic battery (bats, Pester, lint, safety-hook tests). Use after install, after a rebuild or update, after any provider/config change (new API key, model remap, shim change), for pre-release validation, or when asked "is my install working" or to "smoke test the deployment/config." Requires the DAAF_DEV=1 dev image; a contributor tool, not end-user-facing. NOT DAAFBench (model behavioral-adherence evaluation under benchmarks/) and NOT scripts/smoke_tests/ (R/Python library-package smoke tests).
中文简介正在准备中。当前显示原文说明。
Operational framework for the DAAF orchestrator. Defines engagement modes, confirmation protocol, subagent dispatch, context budget, and reference-loading. Loaded exclusively by the orchestrator — not for subagents or user questions.
中文简介正在准备中。当前显示原文说明。
Data science methodology and method-selection routing for quantitative research. Covers EDA, data validation, descriptive analysis, causal inference (IV, DiD, RD, synthetic control), clustering/PCA/UMAP, supervised ML, geospatial analysis, network analysis, and visualization design. Contains the canonical method-to-library routing tree, routed by execution language — Python: statsmodels (OLS/GLM/time series), pyfixest (FE/DiD), linearmodels (RE/GMM/SUR), svy (complex surveys), scikit-learn (clustering/prediction ML), geopandas (spatial), igraph (network analysis); R: r-stats (OLS/GLM/time series), fixest (FE/DiD), plm (panel/RE/IV), survey-r (complex surveys), tidymodels (ML), sf-terra (spatial), igraph-r (network analysis). Load the routed tool-specific skill before giving tool-specific advice or writing code — library skills encode environment constraints and curated caveats absent from general knowledge.
中文简介正在准备中。当前显示原文说明。
Interpretation guidance for Urban Institute Education Data Portal datasets. The Portal is a curation layer over federal data: lowercase variable names, integer-encoded categoricals, standardized missing codes (-1 missing, -2 not applicable, -3 suppressed). Covers year definitions, grade encoding (grade=-1 is Pre-K, not missing), suppression rates, ODC-By licensing, and cross-source join identifiers. Load before analyzing any Portal data. Routes to source-specific deep-dive skills for individual datasets.
中文简介正在准备中。当前显示原文说明。