Use cached datasets in tests and examples
authorDebian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Sun, 21 Jan 2024 09:38:29 +0000 (09:38 +0000)
committerRebecca N. Palmer <rebecca_palmer@zoho.com>
Sun, 21 Jan 2024 09:38:29 +0000 (09:38 +0000)
Also remove a download that isn't actually used in that example.

This allows the tests to pass, and at least some of the examples to
be built, in an offline environment such as a Debian buildd.

The cached data is extracted from R packages by debian/datasets/*.

Author: Diane Trout <diane@ghic.org>, Rebecca N. Palmer <rebecca_palmer@zoho.com>
Forwarded: not-needed

Gbp-Pq: Name use_cached_datasets.patch

13 files changed:
docs/source/contingency_tables.rst
docs/source/datasets/index.rst
docs/source/duration.rst
docs/source/example_formulas.rst
docs/source/gee.rst
docs/source/gettingstarted.rst
docs/source/index.rst
docs/source/mixed_linear.rst
docs/source/release/version0.6.rst
examples/notebooks/markov_regression.ipynb
examples/notebooks/mixed_lm_example.ipynb
examples/notebooks/regression_diagnostics.ipynb
statsmodels/stats/tests/test_dist_dependant_measures.py

index 6a21a7b55428892792a319d6de8952e25d914a3d..c3cf075b3a9d3e1e392e9b1d900696ecd24badc4 100644 (file)
@@ -49,7 +49,7 @@ contingency table cell counts:
     import pandas as pd
     import statsmodels.api as sm
 
-    df = sm.datasets.get_rdataset("Arthritis", "vcd").data
+    df = sm.datasets.get_rdataset("Arthritis", "vcd", cache=True).data
     df.fillna({"Improved":"None"}, inplace=True)
 
     tab = pd.crosstab(df['Treatment'], df['Improved'])
@@ -185,7 +185,7 @@ contingency table.
 
 .. ipython:: python
 
-    df = sm.datasets.get_rdataset("VisualAcuity", "vcd").data
+    df = sm.datasets.get_rdataset("VisualAcuity", "vcd", cache=True).data
     df = df.loc[df.gender == "female", :]
     tab = df.set_index(['left', 'right'])
     del tab["gender"]
index b088486995c51ddbeeea7f9ffd5ca224556a9ec5..1ea669c10f63f4a71d57c4a3bc6a7d3d6e80f2ab 100644 (file)
@@ -30,7 +30,7 @@ The `Rdatasets project <https://vincentarelbundock.github.io/Rdatasets/>`__ give
 .. ipython:: python
 
    import statsmodels.api as sm
-   duncan_prestige = sm.datasets.get_rdataset("Duncan", "carData")
+   duncan_prestige = sm.datasets.get_rdataset("Duncan", "carData", cache=True)
    print(duncan_prestige.__doc__)
    duncan_prestige.data.head(5)
 
index 104f6e48fea7bd973191eee405cc29c8ce48ef3d..32dfa19a2c58111c4b9cfe87f2b2e8f3ed7b928b 100644 (file)
@@ -42,7 +42,7 @@ We fit the survival distribution only for the female subjects.
 
    import statsmodels.api as sm
 
-   data = sm.datasets.get_rdataset("flchain", "survival").data
+   data = sm.datasets.get_rdataset("flchain", "survival", cache=True).data
    df = data.loc[data.sex == "F", :]
    sf = sm.SurvfuncRight(df["futime"], df["death"])
 
@@ -169,7 +169,7 @@ depending on the value of the covariates.
    import statsmodels.api as sm
    import statsmodels.formula.api as smf
 
-   data = sm.datasets.get_rdataset("flchain", "survival").data
+   data = sm.datasets.get_rdataset("flchain", "survival", cache=True).data
    del data["chapter"]
    data = data.dropna()
    data["lam"] = data["lambda"]
index a10b3488422e67160a845f73bb2c57ac5089b51a..a9b1439ede99627199d998a88b6c677b49baad16 100644 (file)
@@ -47,7 +47,7 @@ and list-wise delete to remove missing observations:
 
 .. ipython:: python
 
-    df = sm.datasets.get_rdataset("Guerry", "HistData").data
+    df = sm.datasets.get_rdataset("Guerry", "HistData", cache=True).data
     df = df[['Lottery', 'Literacy', 'Wealth', 'Region']].dropna()
     df.head()
 
index da3859f996e0bab2b264ac742f171148a474c7b1..3eefda66c71d0867e50126bd97a170c408ccc643 100644 (file)
@@ -24,7 +24,7 @@ within clusters using data on epilepsy seizures.
     import statsmodels.api as sm
     import statsmodels.formula.api as smf
 
-    data = sm.datasets.get_rdataset('epil', package='MASS').data
+    data = sm.datasets.get_rdataset('epil', package='MASS', cache=True).data
 
     fam = sm.families.Poisson()
     ind = sm.cov_struct.Exchangeable()
index 8bf386341c6f41c605562682da6becaf841bfeb6..5cef84d755dd80239b44ff3a7fac556d42996d74 100644 (file)
@@ -50,7 +50,7 @@ We could download the file locally and then load it using ``read_csv``, but
 
 .. ipython:: python
 
-    df = sm.datasets.get_rdataset("Guerry", "HistData").data
+    df = sm.datasets.get_rdataset("Guerry", "HistData", cache=True).data
 
 The `Input/Output doc page <iolib.html>`_ shows how to import from various
 other formats.
index 00fbf80ee548661fea9a2c18229336c7ab072362..c48e8e9ad5bc477eb0a8104694a94f47d16a2d08 100644 (file)
@@ -25,7 +25,7 @@ Here is a simple example using ordinary least squares:
     import statsmodels.formula.api as smf
 
     # Load data
-    dat = sm.datasets.get_rdataset("Guerry", "HistData").data
+    dat = sm.datasets.get_rdataset("Guerry", "HistData", cache=True).data
 
     # Fit regression model (using the natural log of one of the regressors)
     results = smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit()
index 50ea7bbe782e46555ac6b206124b3d8d032365ef..612de35fee5350ecc1d0102d2771fb2b6124d9df 100644 (file)
@@ -83,7 +83,7 @@ Examples
   import statsmodels.api as sm
   import statsmodels.formula.api as smf
 
-  data = sm.datasets.get_rdataset("dietox", "geepack").data
+  data = sm.datasets.get_rdataset("dietox", "geepack", cache=True).data
 
   md = smf.mixedlm("Weight ~ Time", data, groups=data["Pig"])
   mdf = md.fit()
index 53888e9e9cdf4d2c391b26ce7e433a35da354c52..90a77fd3a54647a7b0c2af767d4f2f9035eaffdf 100644 (file)
@@ -41,7 +41,7 @@ covariates.
    import statsmodels.api as sm
    import statsmodels.formula.api as smf
 
-   data = sm.datasets.get_rdataset("epil", "MASS").data
+   data = sm.datasets.get_rdataset("epil", "MASS", cache=True).data
 
    md = smf.gee("y ~ age + trt + base", "subject", data,
                 cov_struct=sm.cov_struct.Independence(), 
index 6e93771e34617e7523a3ca9f32f16899a652d196..74064df2fd571a6bd7e7e4930273799e6767528f 100644 (file)
     "import pandas as pd\n",
     "import statsmodels.api as sm\n",
     "import matplotlib.pyplot as plt\n",
-    "\n",
-    "# NBER recessions\n",
-    "from pandas_datareader.data import DataReader\n",
-    "from datetime import datetime\n",
-    "\n",
-    "usrec = DataReader(\n",
-    "    \"USREC\", \"fred\", start=datetime(1947, 1, 1), end=datetime(2013, 4, 1)\n",
-    ")"
+    "from datetime import datetime\n"
    ]
   },
   {
index 2b9bd2d7dc53725bc9afe0616bd68461bb75a5ee..ee170c961b5579c152176fb4b93d4f211b9b3999 100644 (file)
@@ -86,7 +86,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "data = sm.datasets.get_rdataset(\"dietox\", \"geepack\").data\n",
+    "data = sm.datasets.get_rdataset(\"dietox\", \"geepack\", cache=True).data\n",
     "md = smf.mixedlm(\"Weight ~ Time\", data, groups=data[\"Pig\"])\n",
     "mdf = md.fit(method=[\"lbfgs\"])\n",
     "print(mdf.summary())"
    "metadata": {},
    "outputs": [],
    "source": [
-    "data = sm.datasets.get_rdataset(\"Sitka\", \"MASS\").data\n",
+    "data = sm.datasets.get_rdataset(\"Sitka\", \"MASS\", cache=True).data\n",
     "endog = data[\"size\"]\n",
     "data[\"Intercept\"] = 1\n",
     "exog = data[[\"Intercept\", \"Time\"]]"
index 55a5cc047df52f7a67f538f2f06e24a82d0c6ec8..e9d03eec549e15cae4f2e938783c176f1caf6929 100644 (file)
@@ -47,8 +47,8 @@
     "import matplotlib.pyplot as plt\n",
     "\n",
     "# Load data\n",
-    "url = \"https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/HistData/Guerry.csv\"\n",
-    "dat = pd.read_csv(url)\n",
+    "import statsmodels.datasets\n",
+    "dat = statsmodels.datasets.get_rdataset(\"Guerry\", \"HistData\", cache=True).data\n",
     "\n",
     "# Fit regression model (using the natural log of one of the regressors)\n",
     "results = smf.ols(\"Lottery ~ Literacy + np.log(Pop1831)\", data=dat).fit()\n",
index 0c6b252c301e38a8bc2365a20491c7ad8336ce86..f51ad09198bc777336cf466e0575d68606e4277b 100644 (file)
@@ -140,7 +140,7 @@ class TestDistDependenceMeasures:
         0.1025087
         """
         try:
-            iris = get_rdataset("iris").data.values[:, :4]
+            iris = get_rdataset("iris", cache=True).data.values[:, :4]
         except IGNORED_EXCEPTIONS:
             pytest.skip('Failed with HTTPError or URLError, these are random')
 
@@ -180,7 +180,7 @@ class TestDistDependenceMeasures:
         30.01526
         """
         try:
-            quakes = get_rdataset("quakes").data.values[:, :3]
+            quakes = get_rdataset("quakes", cache=True).data.values[:, :3]
         except IGNORED_EXCEPTIONS:
             pytest.skip('Failed with HTTPError or URLError, these are random')