{"id":"ade8d4ca-3020-45b7-b8ee-4fa77fe6b674","shortId":"MJ6BzA","kind":"skill","title":"40-py-econometrics-pyfixest","tagline":"🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库，覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文，并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.","description":"# PyFixest LLM Skill Reference\n\n> Dense, machine-readable reference for LLMs. No prose padding.\n> Version: matches latest PyFixest release.\n\n## Package Import\n\n```python\nimport pyfixest as pf\n```\n\n## Core Estimation Functions\n\n### pf.feols() — OLS / WLS / IV with Fixed Effects\n\n```python\npf.feols(\n    fml: str,                    # Formula: \"Y ~ X1 + X2 | fe1 + fe2\" or IV: \"Y ~ exog | fe | endog ~ inst\"\n    data: pd.DataFrame,\n    vcov: str | dict = None,     # \"iid\", \"HC1\"-\"HC3\", {\"CRV1\": \"clust\"}, {\"CRV3\": \"clust\"}, {\"CRV1\": \"c1+c2\"}\n    weights: str = None,         # Column name for weights\n    ssc: dict = None,            # Small sample correction, see pf.ssc()\n    fixef_rm: str = \"singleton\", # \"none\" or \"singleton\"\n    drop_intercept: bool = False,\n    split: str = None,           # Column name to split sample by\n    fsplit: str = None,          # Like split but also fits on full sample\n    weights_type: str = \"aweights\",  # \"aweights\" or \"fweights\"\n    solver: str = \"scipy.linalg.solve\",\n    lean: bool = False,\n) -> Feols | FixestMulti\n```\n\nReturns `Feols` for single model, `FixestMulti` for multiple estimation syntax.\n\n### pf.fepois() — Poisson Regression with Fixed Effects\n\n```python\npf.fepois(\n    fml: str,                    # \"Y ~ X1 + X2 | fe1 + fe2\"\n    data: pd.DataFrame,\n    vcov: str | dict = None,\n    ssc: dict = None,\n    fixef_rm: str = \"singleton\",\n    iwls_tol: float = 1e-08,\n    iwls_maxiter: int = 25,\n    separation_check: list[str] = None,  # [\"fe\"] to check for separated FE\n    split: str = None,\n    fsplit: str = None,\n) -> Fepois | FixestMulti\n```\n\n### pf.feglm() — GLM (without FE demeaning, WIP)\n\n```python\npf.feglm(\n    fml: str,\n    data: pd.DataFrame,\n    family: str,                 # \"gaussian\", \"logit\", \"probit\"\n    vcov: str | dict = None,\n    separation_check: list[str] = None,\n    split: str = None,\n    fsplit: str = None,\n) -> Feglm | FixestMulti\n```\n\n### pf.quantreg() — Quantile Regression\n\n```python\npf.quantreg(\n    fml: str,\n    data: pd.DataFrame,\n    vcov: str | dict = \"nid\",\n    quantile: float | list[float] = 0.5,  # Single or list of quantiles\n    method: str = \"fn\",          # \"fn\" (Frisch-Newton)\n    split: str = None,\n    fsplit: str = None,\n) -> Feols | FixestMulti\n```\n\n## Formula Syntax\n\n### Basic\n\n```\n\"Y ~ X1 + X2\"                      # OLS\n\"Y ~ X1 + X2 | fe1\"                # OLS + one FE\n\"Y ~ X1 + X2 | fe1 + fe2\"          # OLS + two-way FE\n\"Y ~ X1 + C(categorical)\"          # Categorical variable as dummies\n\"Y ~ X1 + i(factor, ref=0)\"        # Factor variable for event studies\n\"Y ~ X1 + i(f1, X2)\"               # Interaction: factor × continuous\n\"Y ~ 1 | fe1 | X1 ~ Z1\"           # IV: depvar ~ exog | fe | endog ~ inst\n\"Y ~ 1 | X1 ~ Z1 + Z2\"            # IV without FE\n\"Y ~ X1:X2\"                        # Interaction only\n\"Y ~ X1*X2\"                        # X1 + X2 + X1:X2\n\"Y ~ X1 + I(X1**2)\"                # Polynomial term\n```\n\n### Multiple Estimation Operators\n\n```\n\"Y ~ X1 + sw(X2, X3)\"              # Stepwise: two models, X2 then X3\n\"Y ~ X1 + sw0(X2, X3)\"             # Stepwise with empty: three models\n\"Y ~ X1 + csw(X2, X3)\"             # Cumulative stepwise: X2, then X2+X3\n\"Y ~ X1 + csw0(X2, X3)\"            # Cumulative with empty: three models\n\"Y + Y2 ~ X1\"                      # Multiple dependent variables\n\"Y ~ X1 | csw0(fe1, fe2)\"          # Stepwise fixed effects\n```\n\n### Split Sample\n\n```python\npf.feols(\"Y ~ X1 | fe1\", data=data, split=\"group_var\")   # Separate by group\npf.feols(\"Y ~ X1 | fe1\", data=data, fsplit=\"group_var\")  # Separate + full sample\n```\n\n## Post-Estimation Methods (Feols object)\n\n### Extracting Results\n\n```python\nfit.summary()             # Print summary\nfit.tidy(alpha=0.05)      # pd.DataFrame: Estimate, Std. Error, t value, Pr(>|t|), CI\nfit.coef()                # pd.Series of coefficients\nfit.se()                  # pd.Series of standard errors\nfit.tstat()               # pd.Series of t-statistics\nfit.pvalue()              # pd.Series of p-values\nfit.confint(alpha=0.05)   # pd.DataFrame of confidence intervals\nfit.confint(joint=True)   # Simultaneous confidence bands (multiplier bootstrap)\n```\n\n### Changing Inference\n\n```python\nfit.vcov(\"iid\")                      # IID standard errors\nfit.vcov(\"HC1\")                      # Heteroskedasticity-robust\nfit.vcov({\"CRV1\": \"cluster_var\"})    # One-way cluster-robust\nfit.vcov({\"CRV3\": \"cluster_var\"})    # CRV3 cluster-robust\nfit.vcov({\"CRV1\": \"c1 + c2\"})       # Two-way clustering\n```\n\nReturns self — chainable: `fit.vcov(\"HC1\").summary()`.\n\n### Visualization\n\n```python\nfit.coefplot()                                # Coefficient plot\npf.coefplot([fit1, fit2], keep=\"X1\")         # Compare models\npf.iplot([fit1, fit2], coord_flip=False)     # Event study plot (for i() vars)\npf.qplot(fit_qr)                             # Quantile regression plot\n```\n\n### Prediction\n\n```python\nfit.predict()                        # In-sample predictions\nfit.predict(newdata=df_new)          # Out-of-sample\nfit.predict(type=\"response\")         # Response scale (GLMs)\nfit.predict(type=\"link\")             # Link scale (GLMs)\n```\n\n### Inference Methods\n\n```python\n# Wild cluster bootstrap\nfit.wildboottest(param=\"X1\", reps=999, cluster=\"clust_var\")\n\n# Randomization inference\nfit.ritest(resampvar=\"X1=0\", reps=1000, cluster=\"group_id\")\n\n# Causal cluster variance estimator (Abadie et al. 2023)\nfit.ccv(treatment=\"treat_var\", pk=0.05, n_splits=2, seed=42)\n\n# Wald test: H0: beta = 0\nfit.wald_test(R=np.eye(k))\n# Wald test: H0: R @ beta = q\nfit.wald_test(R=R_matrix, q=q_vector)\n```\n\n### IV Diagnostics (Feiv objects)\n\n```python\nfit_iv._model_1st_stage          # First stage Feols object\nfit_iv._f_stat_1st_stage         # First stage F-statistic\nfit_iv.IV_Diag()                 # Run IV diagnostics\nfit_iv._eff_F                    # Effective F-stat (Olea & Pflueger 2013)\n```\n\n### Online Learning\n\n```python\nfit.update(X_new, y_new)         # Sherman-Morrison coefficient update\n```\n\n## Reporting Functions\n\n### pf.etable() — Regression Tables\n\n```python\npf.etable(\n    models,                        # Feols, list[Feols], or FixestMulti\n    type: str = \"gt\",              # \"gt\" (Great Tables), \"tex\" (LaTeX), \"md\" (markdown), \"df\" (DataFrame)\n    signif_code: list = None,      # e.g. [0.001, 0.01, 0.05]\n    coef_fmt: str = \"b \\n (se)\",   # Format: b=coef, se=SE, p=pval, t=tstat, ci_l, ci_u\n    keep: str | list = None,       # Regex pattern(s) to keep\n    drop: str | list = None,       # Regex pattern(s) to drop\n    labels: dict = None,           # {\"old_name\": \"New Label\"}\n    felabels: dict = None,         # {\"fe_var\": \"FE Label\"}\n    show_fe: bool = True,\n    show_se_type: bool = True,\n    notes: str = \"\",\n    model_heads: list = None,      # Custom column headers\n    caption: str = None,           # Via kwargs\n    file_name: str = None,         # Save to file (.tex, .html)\n)\n```\n\n### pf.summary() — Print Results\n\n```python\npf.summary(models, digits=3)      # models: Feols, list, or FixestMulti\n```\n\n### pf.dtable() — Descriptive Statistics\n\n```python\npf.dtable(\n    df: pd.DataFrame,\n    vars: list,                    # Column names\n    stats: list = None,            # [\"count\", \"mean\", \"std\", \"min\", \"max\", \"median\"]\n    bycol: list[str] = None,       # Group columns (shown as separate column groups)\n    byrow: str = None,             # Group variable (shown as row sections)\n    type: str = \"gt\",              # \"gt\", \"tex\", \"md\", \"df\"\n    labels: dict = None,\n    digits: int = 2,\n)\n```\n\n## Multiple Testing Corrections\n\n```python\npf.bonferroni(models, param=\"X1\")                            # Bonferroni adjusted p-values\npf.rwolf(models, param=\"X1\", reps=9999, seed=42)             # Romano-Wolf\npf.wyoung(models, param=\"X1\", reps=9999, seed=42)            # Westfall-Young\n```\n\n## Difference-in-Differences\n\n### pf.event_study() — Unified Event Study API\n\n```python\npf.event_study(\n    data: pd.DataFrame,\n    yname: str,              # Outcome column\n    idname: str,             # Unit ID column\n    tname: str,              # Time column\n    gname: str,              # Group (first treatment period) column\n    xfml: str = None,        # Additional covariates formula\n    cluster: str = None,     # Cluster variable\n    estimator: str = \"twfe\", # \"twfe\" or \"did2s\"\n    att: bool = True,\n)\n```\n\n### pf.did2s() — Gardner's Two-Stage DID\n\n```python\npf.did2s(\n    data: pd.DataFrame,\n    yname: str,\n    first_stage: str,        # \"~ covariates | fe1 + fe2\"\n    second_stage: str,       # \"~ i(rel_year, ref=-1.0)\"\n    treatment: str,          # Treatment indicator column\n    cluster: str,\n    weights: str = None,\n)\n```\n\n### pf.lpdid() — Local Projections DID\n\n```python\npf.lpdid(\n    data: pd.DataFrame,\n    yname: str,\n    idname: str,\n    tname: str,\n    gname: str,\n    vcov: str | dict = None,\n    pre_window: int = None,\n    post_window: int = None,\n    never_treated: int = 0,\n    att: bool = True,\n    xfml: str = None,\n)\n```\n\n### pf.panelview() — Treatment Visualization\n\n```python\npf.panelview(data, unit=\"unit_col\", time=\"time_col\", treat=\"treat_col\")\n```\n\n## Small Sample Correction\n\n```python\npf.ssc(\n    k_adj: bool = True,        # Adjust for number of estimated parameters\n    k_fixef: str = \"nonnested\", # \"nonnested\" or \"nested\" FE adjustment\n    G_adj: bool = True,         # Adjust for number of clusters\n    G_df: str = \"min\",          # \"min\" or \"conventional\"\n)\n# Usage:\npf.feols(\"Y ~ X1 | fe1\", data=data, ssc=pf.ssc(k_adj=True))\n```\n\n## Data Generators\n\n```python\npf.get_data(N=1000, seed=1234, model=\"Feols\")   # Synthetic data: \"Feols\" or \"Fepois\"\npf.get_twin_data(N_pairs=500, seed=42)           # Twin study data (returns to education)\npf.get_worker_panel(N_workers=500, N_firms=50, N_years=11, seed=42)  # Worker-firm panel\n```\n\n## Variance-Covariance Options\n\n| vcov | Description |\n|---|---|\n| `\"iid\"` | Spherical errors (homoskedastic, uncorrelated) |\n| `\"HC1\"` | Heteroskedasticity-robust (White) |\n| `\"HC2\"` | HC2 robust |\n| `\"HC3\"` | HC3 robust (jackknife-like) |\n| `{\"CRV1\": \"var\"}` | One-way cluster-robust |\n| `{\"CRV3\": \"var\"}` | CRV3 cluster-robust |\n| `{\"CRV1\": \"v1 + v2\"}` | Two-way clustering |\n\nDefault: CRV1 clustered by first FE variable (if FE present), else \"iid\".\n\n## Common Patterns\n\n```python\n# Basic OLS with FE and clustering\nfit = pf.feols(\"Y ~ X1 + X2 | fe1 + fe2\", data=df, vcov={\"CRV1\": \"fe1\"})\n\n# IV regression\nfit_iv = pf.feols(\"Y ~ exog | fe1 | endog ~ instrument\", data=df)\n\n# Multiple specifications at once\nfits = pf.feols(\"Y ~ X1 | csw0(fe1, fe2, fe3)\", data=df)\nfits.etable()\n\n# Poisson with FE\nfit_pois = pf.fepois(\"count ~ X1 + X2 | fe1\", data=df)\n\n# Event study\nfit_es = pf.feols(\"Y ~ i(rel_time, ref=-1) | unit + time\", data=df)\npf.iplot(fit_es)\n\n# Publication table\npf.etable([fit1, fit2, fit3], type=\"tex\", file_name=\"table1.tex\",\n           labels={\"X1\": \"Treatment\"}, felabels={\"fe1\": \"Unit FE\"})\n\n# Adjust SE after estimation\nfit.vcov({\"CRV1\": \"cluster\"}).summary()\n\n# Compare R fixest syntax → PyFixest\n# R:     feols(Y ~ X1 | fe1, data, cluster = ~fe1)\n# Py: pf.feols(\"Y ~ X1 | fe1\", data=data, vcov={\"CRV1\": \"fe1\"})\n```\n\n## FixestMulti Methods\n\nWhen multiple estimation syntax is used, returns `FixestMulti`:\n\n```python\nmulti = pf.feols(\"Y + Y2 ~ X1 | csw0(fe1, fe2)\", data=df)\nmulti.etable()                           # Table of all models\nmulti.summary()                          # Print all summaries\nmulti.coefplot()                         # Plot all models\nmulti.vcov(\"HC1\")                        # Update all models' inference\nmulti.fetch_model(0)                     # Get first Feols object\nmulti.all_fitted_models[\"Y~X1\"]          # Access by formula key\n```","tags":["econometrics","pyfixest","awesome","agent","skills","for","empirical","research","brycewang-stanford","academic-research","agent-skills","ai-agent"],"capabilities":["skill","source-brycewang-stanford","skill-40-py-econometrics-pyfixest","topic-academic-research","topic-agent-skills","topic-ai-agent","topic-awesome-list","topic-communication","topic-copaper","topic-economics","topic-education","topic-empirical-research","topic-international-relations","topic-political-science","topic-psychology"],"categories":["Awesome-Agent-Skills-for-Empirical-Research"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research/40-py-econometrics-pyfixest","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research","source_repo":"https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 598 github stars · SKILL.md body (11,678 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T12:52:56.629Z","embedding":null,"createdAt":"2026-04-18T22:12:46.880Z","updatedAt":"2026-05-02T12:52:56.629Z","lastSeenAt":"2026-05-02T12:52:56.629Z","tsv":"'-1':1346 '-1.0':1054 '0':343,662,691,1096,1445 '0.001':786 '0.01':787 '0.05':495,528,681,788 '0.5':285 '000':11,24 '1':358,369 '1000':664,1176 '11':1211 '1234':1178 '1e-08':210 '2':392,684,937 '2013':742 '2023':675 '20分钟完成一篇可复现的规范实证论文':30 '23':10,23 '25':214 '3':879 '40':1 '42':686,958,969,1193,1213 '50':1208 '500':1191,1205 '8':18 '999':653 '9999':956,967 'abadi':672 'access':1455 'across':17 'addit':1011 'adj':1124,1143,1168 'adjust':947,1127,1141,1146,1372 'agent':12,26 'ai':25 'al':674 'alpha':494,527 'also':149 'api':982 'att':1025,1097 'aweight':157,158 'b':792,796 'band':538 'basic':308,1279 'beta':690,701 'bonferroni':946 'bool':132,165,842,847,1026,1098,1125,1144 'bootstrap':540,648 'bycol':905 'byrow':916 'c':332 'c1':106,574 'c2':107,575 'caption':858 'categor':333,334 'causal':668 'chainabl':582 'chang':541 'check':216,222,256 'ci':504,804,806 'clust':102,104,655 'cluster':556,562,566,570,579,647,654,665,669,1014,1017,1060,1150,1249,1255,1263,1266,1284,1378,1391 'cluster-robust':561,569,1248,1254 'code':782 'coef':789,797 'coeffici':508,589,754 'col':1111,1114,1117 'collect':8 'column':111,137,856,894,910,914,991,996,1000,1007,1059 'common':1276 'compar':596,1380 'confid':531,537 'continu':356 'convent':1157 'coord':601 'copaper.ai':29,35 'core':65 'correct':120,940,1120 'count':899,1330 'covari':1012,1044,1220 'crv1':101,105,555,573,1243,1257,1265,1295,1377,1401 'crv3':103,565,568,1251,1253 'csw':421 'csw0':432,448,1317,1419 'cumul':424,435 'curat':7 'custom':855 'data':92,194,244,275,461,462,473,474,986,1037,1071,1108,1163,1164,1170,1174,1182,1188,1196,1292,1307,1321,1334,1349,1390,1398,1399,1422 'datafram':780 'default':1264 'demean':238 'dens':43 'depend':444 'depvar':363 'descript':886,1223 'df':625,779,890,931,1152,1293,1308,1322,1335,1350,1423 'diag':730 'diagnost':712,733 'dict':96,116,198,201,253,279,827,834,933,1083 'did2s':1024 'differ':974,976 'difference-in-differ':973 'digit':878,935 'disciplin':21 'drop':130,817,825 'dummi':337 'e.g':785 'econometr':4 'educ':1199 'effect':74,184,453,736 'els':1274 'empir':15 'empti':416,437 'endog':90,366,1305 'error':499,513,548,1226 'es':1339,1353 'estim':66,177,396,483,497,671,1019,1131,1375,1407 'et':673 'event':347,604,980,1336 'exog':88,364,1303 'extract':487 'f':727,738 'f-stat':737 'f-statist':726 'f1':352 'factor':341,344,355 'fals':133,166,603 'famili':246 'fe':89,220,225,237,319,329,365,375,836,838,841,1140,1269,1272,1282,1326,1371 'fe1':83,192,316,323,359,449,460,472,1045,1162,1290,1296,1304,1318,1333,1369,1389,1392,1397,1402,1420 'fe2':84,193,324,450,1046,1291,1319,1421 'fe3':1320 'feglm':266 'feiv':713 'felabel':833,1368 'feol':167,170,304,485,720,764,766,881,1180,1183,1386,1448 'fepoi':232,1185 'file':863,869,1362 'firm':1207,1216 'first':718,724,1004,1041,1268,1447 'fit':150,611,716,722,734,1285,1299,1313,1327,1338,1352,1451 'fit.ccv':676 'fit.coef':505 'fit.coefplot':588 'fit.confint':526,533 'fit.predict':618,623,631,637 'fit.pvalue':520 'fit.ritest':659 'fit.se':509 'fit.summary':490 'fit.tidy':493 'fit.tstat':514 'fit.update':746 'fit.vcov':544,549,554,564,572,583,1376 'fit.wald':692,703 'fit.wildboottest':649 'fit1':592,599,1357 'fit2':593,600,1358 'fit3':1359 'fit_iv.iv':729 'fits.etable':1323 'fix':73,183,452 'fixef':123,203,1134 'fixest':1382 'fixestmulti':168,174,233,267,305,768,884,1403,1412 'flip':602 'float':209,282,284 'fml':77,187,242,273 'fmt':790 'fn':293,294 'format':795 'formula':79,306,1013,1457 'frisch':296 'frisch-newton':295 'fsplit':143,229,263,301,475 'full':152,479 'function':67,757 'fweight':160 'g':1142,1151 'gardner':1029 'gaussian':248 'generat':1171 'get':1446 'glm':235 'glms':636,642 'gname':1001,1079 'great':773 'group':464,468,476,666,909,915,919,1003 'gt':771,772,927,928 'h0':689,699 'hc1':99,550,584,1229,1438 'hc2':1234,1235 'hc3':100,1237,1238 'head':852 'header':857 'heteroskedast':552,1231 'heteroskedasticity-robust':551,1230 'homoskedast':1227 'html':871 'id':667,995 'idnam':992,1075 'iid':98,545,546,1224,1275 'import':59,61 'in-sampl':619 'indic':1058 'infer':542,643,658,1442 'inst':91,367 'instrument':1306 'int':213,936,1087,1091,1095 'interact':354,379 'intercept':131 'interv':532 'iv':71,86,362,373,711,732,1297,1300 'iv._eff_f':735 'iv._f_stat_1st_stage':723 'iv._model_1st_stage':717 'iwl':207,211 'jackknif':1241 'jackknife-lik':1240 'joint':534 'k':696,1123,1133,1167 'keep':594,808,816 'key':1458 'kwarg':862 'l':805 'label':826,832,839,932,1365 'latest':55 'latex':776 'lean':164 'learn':744 'like':146,1242 'link':639,640 'list':217,257,283,288,765,783,810,819,853,882,893,897,906 'llm':40 'llms':49 'local':1066 'logit':249 'machin':45 'machine-read':44 'maintain':33 'markdown':778 'match':54 'matrix':707 'max':903 'maxit':212 'md':777,930 'mean':900 'median':904 'method':291,484,644,1404 'min':902,1154,1155 'model':173,405,418,439,597,763,851,877,880,943,952,963,1179,1428,1436,1441,1444,1452 'morrison':753 'multi':1414 'multi.all':1450 'multi.coefplot':1433 'multi.etable':1424 'multi.fetch':1443 'multi.summary':1429 'multi.vcov':1437 'multipl':176,395,443,938,1309,1406 'multipli':539 'n':682,793,1175,1189,1203,1206,1209 'name':112,138,830,864,895,1363 'nest':1139 'never':1093 'new':626,748,750,831 'newdata':624 'newton':297 'nid':280 'none':97,110,117,127,136,145,199,202,219,228,231,254,259,262,265,300,303,784,811,820,828,835,854,860,866,898,908,918,934,1010,1016,1064,1084,1088,1092,1102 'nonnest':1136,1137 'note':849 'np.eye':695 'number':1129,1148 'object':486,714,721,1449 'ol':69,312,317,325,1280 'old':829 'olea':740 'one':318,559,1246 'one-way':558,1245 'onlin':743 'oper':397 'option':1221 'out-of-sampl':627 'outcom':990 'p':524,800,949 'p-valu':523,948 'packag':58 'pad':52 'pair':1190 'panel':1202,1217 'param':650,944,953,964 'paramet':1132 'pattern':813,822,1277 'pd.dataframe':93,195,245,276,496,529,891,987,1038,1072 'pd.series':506,510,515,521 'period':1006 'pf':64 'pf.bonferroni':942 'pf.coefplot':591 'pf.did2s':1028,1036 'pf.dtable':885,889 'pf.etable':758,762,1356 'pf.event':977,984 'pf.feglm':234,241 'pf.feols':68,76,457,469,1159,1286,1301,1314,1340,1394,1415 'pf.fepois':179,186,1329 'pf.get':1173,1186,1200 'pf.iplot':598,1351 'pf.lpdid':1065,1070 'pf.panelview':1103,1107 'pf.qplot':610 'pf.quantreg':268,272 'pf.rwolf':951 'pf.ssc':122,1122,1166 'pf.summary':872,876 'pf.wyoung':962 'pflueger':741 'pk':680 'plot':590,606,615,1434 'poi':1328 'poisson':180,1324 'polynomi':393 'post':482,1089 'post-estim':481 'pr':502 'pre':1085 'predict':616,622 'present':1273 'print':491,873,1430 'probit':250 'project':1067 'prose':51 'public':1354 'pval':801 'py':3,1393 'py-econometrics-pyfixest':2 'pyfixest':5,39,56,62,1384 'python':60,75,185,240,271,456,489,543,587,617,645,715,745,761,875,888,941,983,1035,1069,1106,1121,1172,1278,1413 'q':702,708,709 'qr':612 'quantil':269,281,290,613 'r':694,700,705,706,1381,1385 'random':657 'readabl':46 'reap':38 'ref':342,1053,1345 'refer':42,47 'regex':812,821 'regress':181,270,614,759,1298 'rel':1051,1343 'releas':57 'rep':652,663,955,966 'report':756 'resampvar':660 'research':16 'respons':633,634 'result':488,874 'return':169,580,1197,1411 'rm':124,204 'robust':553,563,571,1232,1236,1239,1250,1256 'romano':960 'romano-wolf':959 'row':923 'run':731 'sampl':119,141,153,455,480,621,630,1119 'save':867 'scale':635,641 'scienc':20 'scipy.linalg.solve':163 'se':794,798,799,845,1373 'second':1047 'section':924 'see':121 'seed':685,957,968,1177,1192,1212 'self':581 'separ':215,224,255,466,478,913 'sherman':752 'sherman-morrison':751 'show':840,844 'shown':911,921 'signif':781 'simultan':536 'singl':172,286 'singleton':126,129,206 'skill':13,32,41 'skill-40-py-econometrics-pyfixest' 'small':118,1118 'social':19 'solver':161 'source-brycewang-stanford' 'specif':1310 'spheric':1225 'split':134,140,147,226,260,298,454,463,683 'ssc':115,200,1165 'stage':719,725,1033,1042,1048 'standard':512,547 'stanford':37 'stat':739,896 'statist':519,728,887 'std':498,901 'stepwis':403,414,425,451 'str':78,95,109,125,135,144,156,162,188,197,205,218,227,230,243,247,252,258,261,264,274,278,292,299,302,770,791,809,818,850,859,865,907,917,926,989,993,998,1002,1009,1015,1020,1040,1043,1049,1056,1061,1063,1074,1076,1078,1080,1082,1101,1135,1153 'studi':348,605,978,981,985,1195,1337 'summari':492,585,1379,1432 'sw':400 'sw0':411 'syntax':178,307,1383,1408 'synthet':1181 't-statist':517 'tabl':760,774,1355,1425 'table1.tex':1364 'term':394 'test':688,693,698,704,939 'tex':775,870,929,1361 'three':417,438 'time':999,1112,1113,1344,1348 'tname':997,1077 'tol':208 'topic-academic-research' 'topic-agent-skills' 'topic-ai-agent' 'topic-awesome-list' 'topic-communication' 'topic-copaper' 'topic-economics' 'topic-education' 'topic-empirical-research' 'topic-international-relations' 'topic-political-science' 'topic-psychology' 'treat':678,1094,1115,1116 'treatment':677,1005,1055,1057,1104,1367 'true':535,843,848,1027,1099,1126,1145,1169 'tstat':803 'twfe':1021,1022 'twin':1187,1194 'two':327,404,577,1032,1261 'two-stag':1031 'two-way':326,576,1260 'type':155,632,638,769,846,925,1360 'u':807 'uncorrel':1228 'unifi':979 'unit':994,1109,1110,1347,1370 'updat':755,1439 'usag':1158 'use':1410 'v1':1258 'v2':1259 'valu':501,525,950 'var':465,477,557,567,609,656,679,837,892,1244,1252 'variabl':335,345,445,920,1018,1270 'varianc':670,1219 'variance-covari':1218 'vcov':94,196,251,277,1081,1222,1294,1400 'vector':710 'version':53 'via':861 'visual':586,1105 'wald':687,697 'way':328,560,578,1247,1262 'weight':108,114,154,1062 'westfal':971 'westfall-young':970 'white':1233 'wild':646 'window':1086,1090 'wip':239 'without':236,374 'wls':70 'wolf':961 'worker':1201,1204,1215 'worker-firm':1214 'x':747 'x1':81,190,310,314,321,331,339,350,360,370,377,382,384,386,389,391,399,410,420,431,442,447,459,471,595,651,661,945,954,965,1161,1288,1316,1331,1366,1388,1396,1418 'x2':82,191,311,315,322,353,378,383,385,387,401,406,412,422,426,428,433,1289,1332 'x3':402,408,413,423,429,434 'xfml':1008,1100 'y':80,87,189,309,313,320,330,338,349,357,368,376,381,388,398,409,419,430,440,446,458,470,749,1160,1287,1302,1315,1341,1387,1395,1416,1453 'y2':441,1417 'year':1052,1210 'yname':988,1039,1073 'young':972 'z1':361,371 'z2':372 '~x1':1454 '并支持用户上传':31 '技能库':27 '精选':22 '覆盖8大社会科学学科的实证研究':28","prices":[{"id":"0dacf551-7732-4a2f-a875-52c1b53c23b5","listingId":"ade8d4ca-3020-45b7-b8ee-4fa77fe6b674","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"brycewang-stanford","category":"Awesome-Agent-Skills-for-Empirical-Research","install_from":"skills.sh"},"createdAt":"2026-04-18T22:12:46.880Z"}],"sources":[{"listingId":"ade8d4ca-3020-45b7-b8ee-4fa77fe6b674","source":"github","sourceId":"brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research/40-py-econometrics-pyfixest","sourceUrl":"https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research/tree/main/skills/40-py-econometrics-pyfixest","isPrimary":false,"firstSeenAt":"2026-04-18T22:12:46.880Z","lastSeenAt":"2026-05-02T12:52:56.629Z"}],"details":{"listingId":"ade8d4ca-3020-45b7-b8ee-4fa77fe6b674","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"brycewang-stanford","slug":"40-py-econometrics-pyfixest","github":{"repo":"brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research","stars":598,"topics":["academic-research","agent-skills","ai-agent","awesome-list","communication","copaper","economics","education","empirical-research","international-relations","political-science","psychology","public-administration","reproducible-research","skills-library","social-science","sociology"],"license":"other","html_url":"https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research","pushed_at":"2026-04-30T20:01:12Z","description":"🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库，覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文，并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.","skill_md_sha":"d6e20c9ca4742b67219ca70d2fb54eefced2bc65","skill_md_path":"skills/40-py-econometrics-pyfixest/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research/tree/main/skills/40-py-econometrics-pyfixest"},"layout":"multi","source":"github","category":"Awesome-Agent-Skills-for-Empirical-Research","frontmatter":{},"skills_sh_url":"https://skills.sh/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research/40-py-econometrics-pyfixest"},"updatedAt":"2026-05-02T12:52:56.629Z"}}