Újdonságok a -ben

PyStata—Python és Stata

A PyStata lehetővé teszi a Stata közvetlen meghívását bármely önálló Python-környezetből, és a Python közvetlen hívását a Stata-ból, ezáltal jelentősen kibővítve a Stata Python-integrációs funkcióit.
A PyStata új szolgáltatásai közé tartozik

  1. a Stata használatának lehetősége egy IPython-kernelhez kapcsolódó környezetből, például Jupyter Notebook, Spyder IDE vagy PyCharm IDE;
  2. a Python Shell Stata használatának képessége, például a Windows Parancssor, a macOS terminál vagy a Unix terminálban
  3. háorm IPython varázsparancs: stata, mata, és pystata; és
  4. a Pythonon belüli API-funkciók készlete a Stata-parancsok futtatásához, valamint a Stata-adatok és a visszaküldött eredmények eléréséhez.

Kiemelt

  • Használja a Stata-t a Python-ból.
  • Stata API funkciók a Stata parancsok futtatásához, a Stata adatokhoz és a Pythonból származó eredmények eléréséhez
  • IPython varázsparancs a Stata használatához Jupyter Notebookból

Nézzük hogyan mükődik

Képzelje el, hogy egy egészségügyi szolgáltató érdekelt egy új kórházi felvételi eljárás a betegek elégedettségére gyakorolt hatásának tanulmányozásában. Havonta vannak adatok a betegekről az új eljárás bevezetése előtt és után néhány kórházukban. Az adatok beágyazott JSON formátumban vannak, és az egészségügyi szolgáltató a Pythont használja adatelemző eszközként. De szeretnék felhasználni a Stata új DID regresszióját, hogy elemezzék az új felvételi eljárás hatásait a programban részt vevő kórházakra. A kívánt eredmény a beteg elégedettsége, az elégedettség_pontszám, a kezelési változó pedig az eljárás.
A did.json egy része az
{
“hospital_id”: “1”,
“month”: “7”,
“records”: [
{
“procedure”: “New”,
“satisfaction_score”: “4.1065269”
}
]
}
Az API függvényt a did.py Python szkriptben használjuk a Stata-val való interakcióhoz. A kód néhány kiemelt eleme
# Setup Stata from within Python
import stata_setup
stata_setup.config(“C:/Program Files/Stata17”, “se”)
# Import the json file into a Python dataframe
with open(“did.json”) as json_file:
data = json.load(json_file)
data = json_normalize(data, ‘records’, [‘hospital_id’, ‘month’])
# Load Python dataframe into Stata
from pystata import stata
stata.pdataframe_to_data(data, True)
# Run Stata commands in Python
stata.run(”’
didregress (satisfaction_score) (procedure), ///
group(hospital_id) time(month)
”’, echo=True)
# Load Stata saved results to Python
r = stata.get_return()[‘r(table)’]
# Use them in Python
print(“\n”)
print(“The treatment hospitals had a %5.2f-point increase.” % (r[0][0]), end=” “)
print(“The result is with 95%% confidence interval [%5.2f, %5.2f].” % (r[4][0], r[5][0]))
# Generate Stata graph in Python
stata.run(“estat trendplots”, echo=True)
stata.run(“graph export did.svg, replace”, quietly=True)

Futattás did.py Spyder-ben

Itt futtatjuk a did.py fájlt, amelyet a fenti szakaszban hoztunk létre, a Spyderben.

A teljes elemzést a Python környezet elhagyása nélkül hajtjuk végre. A Stata API-funkcióival az adatok és az eredmények zökkenőmentesen áramlanak a Python és a Stata között.

Futassa a did.py-t Python Shell-ben

A szkript könnyen beilleszthető bármilyen Python környezetben, például a Windows Parancssorban, a macOS terminálban vagy a Unix terminálban. Ez a módszer csak a shell környezetet használja, és nem hívja meg a Stata egyetlen GUI elemét sem.
python did.py > did.log
naplófájlt kézsít, did.log, a didregress kimenettel
Ez a módszer hasznos a feladatok automatizálásához a Windows rendszerben. És a fenti szkript beépíthető egy rendszeresen ütemezett feladatba az új adatok kezelésére.
Részletes példához a Stata használatáról a Jupyter Notebookban vagy bármely olyan Python környezetben, amely támogatja az IPython szolgáltatást, lásd: Jupyter Notebook with Stata.