fetch_dta()
Description
Fetch a dataset directly from Stata Press web repository.
Parameters
Input
fetch_dta(name: str, version: Optional[str] = None, timeout: int = 30) -> pd.DataFrame
name: str; Dataset filename without extension (e.g., ‘auto’, ‘nlsw88’).
version: str, optional; Stata version directory (e.g., ‘r19’, ‘r18’). Defaults to ‘r19’.
force_download: bool, default False; If True, re-download even if available locally.
timeout : int, default 30; Maximum time in seconds to wait for a response from the server.
Note
Fetching Common Datasets
Convience wrapper functions for common datasets are provided. These functions are named after the dataset and can be called directly without needing to specify the dataset name or version.
These functions only accept the **version* parameter*.
Returns
- pandas.DataFrame
A DataFrame containing the dataset fetched from the Stata Press web repository with appropriate dtypes preserved.
Raises
ValueError: If the dataset name is not found in the specified version directory.
requests.exceptions.RequestException: If there is an issue with the network request (e.g., timeout, connection error).
Examples
import researchpy as rp
Get dataset (default latest version)
import researchpy as rp
df = rp.datasets.stata_webuse.fetch_dta('auto')
| make | price | mpg | rep78 | headroom | trunk | weight | length | turn | displacement | gear_ratio | foreign | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | AMC Concord | 4099 | 22 | 3.0 | 2.5 | 11 | 2930 | 186 | 40 | 121 | 3.58 | Domestic |
| 1 | AMC Pacer | 4749 | 17 | 3.0 | 3.0 | 11 | 3350 | 173 | 40 | 258 | 2.53 | Domestic |
| 2 | AMC Spirit | 3799 | 22 | NaN | 3.0 | 12 | 2640 | 168 | 35 | 121 | 3.08 | Domestic |
| 3 | Buick Century | 4816 | 20 | 3.0 | 4.5 | 16 | 3250 | 196 | 40 | 196 | 2.93 | Domestic |
| 4 | Buick Electra | 7827 | 15 | 4.0 | 4.0 | 20 | 4080 | 222 | 43 | 350 | 2.41 | Domestic |
Specify dataset version
import researchpy as rp
df_old = rp.datasets.stata_webuse.fetch_dta('auto',version='r15')
Force refresh download from server
import researchpy as rp
df_new = rp.datasets.stata_webuse.fetch_dta('auto',force_download=True)
Fetching Common Datasets
import researchpy as rp
auto = rp.datasets.stata_webuse.auto()
nlsw88 = rp.datasets.stata_webuse.nlsw88()
systolic = rp.datasets.stata_webuse.systolic()
lbw = rp.datasets.stata_webuse.lbw()
census = rp.datasets.stata_webuse.census()
citytemp = rp.datasets.stata_webuse.citytemp()
cancer = rp.datasets.stata_webuse.cancer()
lifeexp = rp.datasets.stata_webuse.lifeexp()
sp500 = rp.datasets.stata_webuse.sp500()
uslifeexp = rp.datasets.stata_webuse.uslifeexp()
voter = rp.datasets.stata_webuse.voter()