From a13d6f3bc7d91f97ec5b40a827351e2e80b7d15e Mon Sep 17 00:00:00 2001 From: Lukman Edwindra Date: Wed, 8 Sep 2021 08:51:40 +0000 Subject: [PATCH] Pushed image to Docker hub --- .gitignore | 5 +- README.md | 45 +- base-stata/Dockerfile | 30 ++ base-stata/README.md | 28 ++ example.ipynb | 501 ------------------- Dockerfile => jupyter-stata/Dockerfile | 27 +- jupyter-stata/README.md | 31 ++ life-exp.ipynb | 666 ------------------------- life-exp.md | 333 ------------- life-exp.pdf | Bin 26521 -> 0 bytes life-exp_files/life-exp_3_0.pdf | Bin 8836 -> 0 bytes life-exp_files/life-exp_3_0.svg | 169 ------- 12 files changed, 106 insertions(+), 1729 deletions(-) create mode 100644 base-stata/Dockerfile create mode 100644 base-stata/README.md delete mode 100644 example.ipynb rename Dockerfile => jupyter-stata/Dockerfile (65%) create mode 100644 jupyter-stata/README.md delete mode 100644 life-exp.ipynb delete mode 100644 life-exp.md delete mode 100644 life-exp.pdf delete mode 100644 life-exp_files/life-exp_3_0.pdf delete mode 100644 life-exp_files/life-exp_3_0.svg diff --git a/.gitignore b/.gitignore index 56d8131..957c762 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ -commands.txt -stata.tar.gz -.ipynb_checkpoints/ +util/ +.ipynb_checkpoints/ \ No newline at end of file diff --git a/README.md b/README.md index 4900645..7e8010b 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,16 @@ -# Usage +# ⚠️ Disclaimer +This is an unofficial repository to run Stata using Docker. You must have the license code. Otherwise, you can't execute Stata both on batch mode or via Jupyter because the `stata.lic` file is not attached in the Docker images. + +# Images +There are two images, one only consists of Stata, the other one has Jupyter and LaTeX installed. To see my Docker repositories, visit [here](https://hub.docker.com/u/ledwindra). Use the following Docker commands to pull the images: ```bash -# replace all values -# only executed once -docker build -t stata "https://github.com/ledwindra/docker-stata.git#main" \ - --build-arg URL="URL TO YOUR STATA INSTALLER" \ - --build-arg SERIAL="STATA SERIAL NUMBER" \ - --build-arg CODE="STATA CODE" \ - --build-arg AUTHORIZATION="STATA AUTHORIZATION" \ - --build-arg FIRST="FIRST NAME" \ - --build-arg LAST="LAST NAME" - -# run jupyter and copy tokens if needed -# unless you delete the container (stata), you only need to execute the following command -docker run -p 8888:8888 --name=stata stata:latest +# only Stata—1.29 GB +docker pull ledwindra/base-stata:latest -# check whether stata container is active -docker ps -a -CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES -2d70f687536f stata:latest "tini -g -- jupyter …" 4 minutes ago Up 4 minutes 0.0.0.0:8888->8888/tcp, :::8888->8888/tcp stata +# with Jupyter and LaTeX— GB +docker pull ledwindra/jupyter-stata:latest ``` -# Token -image - -# Change configuration file -By default, `stata_kernel` assumes your Stata is MP edition. You need to change its configuration file if you have another edition (IC or SE) by using terminal inside Jupyter. Then type `vim ~/.stata_kernel.conf`. - -image - -Change `stata_path = /usr/local/stata/stata-mp` to be `/usr/local/stata/` (IC) or `/usr/local/stata/stata-se` (SE). - -image - - - - - +# Too lazy to install Docker? +No worries, you can execute this via [GitHub Codespaces](https://docs.github.com/en/codespaces/overview) for both public and private repositories. Its default setup has Docker installed. Understanding Docker commands may be helpful, though you can just copy and paste my snippets above. \ No newline at end of file diff --git a/base-stata/Dockerfile b/base-stata/Dockerfile new file mode 100644 index 0000000..7ea3cec --- /dev/null +++ b/base-stata/Dockerfile @@ -0,0 +1,30 @@ +# initial setup +FROM ubuntu:latest AS stata +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -y wget + +# install stata +COPY stata.tar.gz /home/stata.tar.gz +RUN cd /tmp/ && \ + mkdir -p statafiles && \ + cd statafiles && \ + tar -zxf /home/stata.tar.gz && \ + cd /usr/local && \ + mkdir -p stata && \ + cd stata && \ + yes | /tmp/statafiles/install + +RUN apt-get update && \ + apt-get install -y autoconf automake build-essential git libncurses5 libtool make pkg-config tcsh vim zlib1g-dev && \ + wget http://archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng_1.2.54.orig.tar.xz && \ + tar xvf libpng_1.2.54.orig.tar.xz && \ + cd libpng-1.2.54 && \ + ./autogen.sh && \ + ./configure && \ + make -j8 && \ + make install && \ + ldconfig + +ENV PATH="/usr/local/stata:$PATH" +RUN mkdir -p /home/stata +WORKDIR /home/stata diff --git a/base-stata/README.md b/base-stata/README.md new file mode 100644 index 0000000..4639393 --- /dev/null +++ b/base-stata/README.md @@ -0,0 +1,28 @@ +# Usage + +You can build the image locally on your own. First, you must have Stata installer in `.tar.gz` format and save it in this directory `(./base-stata/)` + +```bash +# build image locally +docker build -t base-stata . + +# run image +docker run -d -it --name=base-stata base-stata:latest +docker exec -it base-stata bash + +# remove container if no longer needed +docker rm -f base-stata +``` + +To run Stata, you need to create `stata.lic` file inside `/usr/local/stata/` directory. Otherwise, you will get the following error message when you prompt Stata batch mode: + +``` +Cannot find license file +stata.lic +``` + +By default, I only install `vim` text editor. So type the following command `vim /usr/local/stata/stata.lic` and paste the following values: + +``` +SERIAL!AUTHORIZATION!CODE!FIRST NAME!LAST NAME!FOUR DIGITS FROM LICENSE! +``` \ No newline at end of file diff --git a/example.ipynb b/example.ipynb deleted file mode 100644 index 05d7030..0000000 --- a/example.ipynb +++ /dev/null @@ -1,501 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "c581b428", - "metadata": {}, - "outputs": [], - "source": [ - "set more off" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "c5d1aa5e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(1978 Automobile Data)\n" - ] - } - ], - "source": [ - "sysuse auto" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "346f04e6", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "--------------------------------------------------------------------------------\n", - "make Make and Model\n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: string (str18), but longest is str17\n", - "\n", - " unique values: 74 missing \"\": 0/74\n", - "\n", - " examples: \"Cad. Deville\"\n", - " \"Dodge Magnum\"\n", - " \"Merc. XR-7\"\n", - " \"Pont. Catalina\"\n", - "\n", - " warning: variable has embedded blanks\n", - "\n", - "--------------------------------------------------------------------------------\n", - "price Price\n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: numeric (int)\n", - "\n", - " range: [3291,15906] units: 1\n", - " unique values: 74 missing .: 0/74\n", - "\n", - " mean: 6165.26\n", - " std. dev: 2949.5\n", - "\n", - " percentiles: 10% 25% 50% 75% 90%\n", - " 3895 4195 5006.5 6342 11385\n", - "\n", - "--------------------------------------------------------------------------------\n", - "mpg Mileage (mpg)\n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: numeric (int)\n", - "\n", - " range: [12,41] units: 1\n", - " unique values: 21 missing .: 0/74\n", - "\n", - " mean: 21.2973\n", - " std. dev: 5.7855\n", - "\n", - " percentiles: 10% 25% 50% 75% 90%\n", - " 14 18 20 25 29\n", - "\n", - "--------------------------------------------------------------------------------\n", - "rep78 Repair Record 1978\n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: numeric (int)\n", - "\n", - " range: [1,5] units: 1\n", - " unique values: 5 missing .: 5/74\n", - "\n", - " tabulation: Freq. Value\n", - " 2 1\n", - " 8 2\n", - " 30 3\n", - " 18 4\n", - " 11 5\n", - " 5 .\n", - "\n", - "--------------------------------------------------------------------------------\n", - "headroom Headroom (in.)\n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: numeric (float)\n", - "\n", - " range: [1.5,5] units: .1\n", - " unique values: 8 missing .: 0/74\n", - "\n", - " tabulation: Freq. Value\n", - " 4 1.5\n", - " 13 2\n", - " 14 2.5\n", - " 13 3\n", - " 15 3.5\n", - " 10 4\n", - " 4 4.5\n", - " 1 5\n", - "\n", - "--------------------------------------------------------------------------------\n", - "trunk Trunk space (cu. ft.)\n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: numeric (int)\n", - "\n", - " range: [5,23] units: 1\n", - " unique values: 18 missing .: 0/74\n", - "\n", - " mean: 13.7568\n", - " std. dev: 4.2774\n", - "\n", - " percentiles: 10% 25% 50% 75% 90%\n", - " 8 10 14 17 20\n", - "\n", - "--------------------------------------------------------------------------------\n", - "weight Weight (lbs.)\n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: numeric (int)\n", - "\n", - " range: [1760,4840] units: 10\n", - " unique values: 64 missing .: 0/74\n", - "\n", - " mean: 3019.46\n", - " std. dev: 777.194\n", - "\n", - " percentiles: 10% 25% 50% 75% 90%\n", - " 2020 2240 3190 3600 4060\n", - "\n", - "--------------------------------------------------------------------------------\n", - "length Length (in.)\n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: numeric (int)\n", - "\n", - " range: [142,233] units: 1\n", - " unique values: 47 missing .: 0/74\n", - "\n", - " mean: 187.932\n", - " std. dev: 22.2663\n", - "\n", - " percentiles: 10% 25% 50% 75% 90%\n", - " 157 170 192.5 204 218\n", - "\n", - "--------------------------------------------------------------------------------\n", - "turn Turn Circle (ft.) \n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: numeric (int)\n", - "\n", - " range: [31,51] units: 1\n", - " unique values: 18 missing .: 0/74\n", - "\n", - " mean: 39.6486\n", - " std. dev: 4.39935\n", - "\n", - " percentiles: 10% 25% 50% 75% 90%\n", - " 34 36 40 43 45\n", - "\n", - "--------------------------------------------------------------------------------\n", - "displacement Displacement (cu. in.)\n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: numeric (int)\n", - "\n", - " range: [79,425] units: 1\n", - " unique values: 31 missing .: 0/74\n", - "\n", - " mean: 197.297\n", - " std. dev: 91.8372\n", - "\n", - " percentiles: 10% 25% 50% 75% 90%\n", - " 97 119 196 250 350\n", - "\n", - "--------------------------------------------------------------------------------\n", - "gear_ratio Gear Ratio\n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: numeric (float)\n", - "\n", - " range: [2.19,3.89] units: .01\n", - " unique values: 36 missing .: 0/74\n", - "\n", - " mean: 3.01486\n", - " std. dev: .456287\n", - "\n", - " percentiles: 10% 25% 50% 75% 90%\n", - " 2.43 2.73 2.955 3.37 3.72\n", - "\n", - "--------------------------------------------------------------------------------\n", - "foreign Car type\n", - "--------------------------------------------------------------------------------\n", - "\n", - " type: numeric (byte)\n", - " label: origin\n", - "\n", - " range: [0,1] units: 1\n", - " unique values: 2 missing .: 0/74\n", - "\n", - " tabulation: Freq. Numeric Label\n", - " 52 0 Domestic\n", - " 22 1 Foreign\n" - ] - } - ], - "source": [ - "codebook" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "2b1989db", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - " Variable | Obs Mean Std. Dev. Min Max\n", - "-------------+---------------------------------------------------------\n", - " make | 0\n", - " price | 74 6165.257 2949.496 3291 15906\n", - " mpg | 74 21.2973 5.785503 12 41\n", - " rep78 | 69 3.405797 .9899323 1 5\n", - " headroom | 74 2.993243 .8459948 1.5 5\n", - "-------------+---------------------------------------------------------\n", - " trunk | 74 13.75676 4.277404 5 23\n", - " weight | 74 3019.459 777.1936 1760 4840\n", - " length | 74 187.9324 22.26634 142 233\n", - " turn | 74 39.64865 4.399354 31 51\n", - "displacement | 74 197.2973 91.83722 79 425\n", - "-------------+---------------------------------------------------------\n", - " gear_ratio | 74 3.014865 .4562871 2.19 3.89\n", - " foreign | 74 .2972973 .4601885 0 1\n" - ] - } - ], - "source": [ - "summarize" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "f018d125", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(bin=30, start=3291, width=420.5)\n" - ] - }, - { - "data": { - "application/pdf": "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", - "image/svg+xml": [ - "\n", - "\n", - "\n", - "\n", - "\tStata Graph - Graph\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t0\n", - "\t\n", - "\t1.0e-04\n", - "\t\n", - "\t2.0e-04\n", - "\t\n", - "\t3.0e-04\n", - "\t\n", - "\t4.0e-04\n", - "\tDensity\n", - "\t\n", - "\t\n", - "\t0\n", - "\t\n", - "\t5,000\n", - "\t\n", - "\t10,000\n", - "\t\n", - "\t15,000\n", - "\tPrice\n", - "\n" - ], - "text/html": [ - " \n" - ], - "text/plain": [ - "This front-end cannot display the desired image type." - ] - }, - "metadata": { - "image/svg+xml": { - "height": 436, - "width": 600 - }, - "text/html": { - "height": 436, - "width": 600 - } - }, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "histogram price, bin(30)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "302d69c9", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Stata", - "language": "stata", - "name": "stata" - }, - "language_info": { - "codemirror_mode": "stata", - "file_extension": ".do", - "mimetype": "text/x-stata", - "name": "stata", - "version": "15.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/Dockerfile b/jupyter-stata/Dockerfile similarity index 65% rename from Dockerfile rename to jupyter-stata/Dockerfile index 4065ea9..5b29601 100644 --- a/Dockerfile +++ b/jupyter-stata/Dockerfile @@ -1,28 +1,10 @@ # initial setup -FROM ubuntu:latest +FROM ubuntu:latest AS stata ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y wget -# you need to have a stata installer named stata.tar.gz on your machine -# URL can be from Dropbox -ARG URL -ENV URL=${URL} -RUN wget -O /home/stata.tar.gz ${URL} - -# passing environment variables to input stata prompts -ARG SERIAL -ARG CODE -ARG AUTHORIZATION -ARG FIRST -ARG LAST - -ENV SERIAL=${SERIAL} -ENV CODE=${CODE} -ENV AUTHORIZATION=${AUTHORIZATION} -ENV FIRST=${FIRST} -ENV LAST=${LAST} - # install stata +COPY stata.tar.gz /home/stata.tar.gz RUN cd /tmp/ && \ mkdir -p statafiles && \ cd statafiles && \ @@ -30,8 +12,7 @@ RUN cd /tmp/ && \ cd /usr/local && \ mkdir -p stata && \ cd stata && \ - yes | /tmp/statafiles/install && \ - echo "Y\nY\n${SERIAL}\n${CODE}\n${AUTHORIZATION}\nY\nY\n${FIRST}\n${LAST}\nY" | ./stinit + yes | /tmp/statafiles/install # setup stata kernel FROM jupyter/base-notebook:latest @@ -47,7 +28,7 @@ RUN apt-get update && \ make install && \ ldconfig RUN apt-get install -y texlive-xetex texlive-fonts-recommended texlive-latex-recommended -COPY --from=0 /usr/local/stata /usr/local/stata +COPY --from=stata /usr/local/stata /usr/local/stata ENV PATH="/usr/local/stata:$PATH" RUN pip install stata_kernel && python -m stata_kernel.install RUN chmod +x ~/.stata_kernel.conf diff --git a/jupyter-stata/README.md b/jupyter-stata/README.md new file mode 100644 index 0000000..16e88be --- /dev/null +++ b/jupyter-stata/README.md @@ -0,0 +1,31 @@ +# Usage + +You can build the image locally on your own. First, you must have Stata installer in `.tar.gz` format and save it in this directory `(./jupyter-stata/)` + +```bash +# build image locally +docker build -t jupyter-stata . + +# run image +# after running this command, copy and paste the notebook token +docker run -p 8888:8888 --name=jupyter-stata jupyter-stata:latest + +# remove container if no longer needed +docker rm -f jupyter-stata +``` + +To run Stata, you need to create `stata.lic` file inside `/usr/local/stata/` directory. Otherwise, you will get the following error message when you prompt Stata batch mode: + +``` +Cannot find license file +stata.lic +``` + +By default, I only install `vim` text editor. So type the following command `vim /usr/local/stata/stata.lic` and paste the following values: + +``` +SERIAL!AUTHORIZATION!CODE!FIRST NAME!LAST NAME!FOUR DIGITS FROM LICENSE! +``` + +# Jupyter +The backbone of running Stata on Jupyter is [`stata_kernel`](https://github.com/kylebarron/stata_kernel) library. However, it assumes that your default stata edition is `MP`. If you use Stata `IC` or `SE`, you need to change its configuration file by typing `vim ~/.stata_kernel.conf`. Find `stata_path` and replace its value to `/usr/local/stata/stata` or `/usr/local/stata/stata-se`. \ No newline at end of file diff --git a/life-exp.ipynb b/life-exp.ipynb deleted file mode 100644 index 7a976d2..0000000 --- a/life-exp.ipynb +++ /dev/null @@ -1,666 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "3528a9d0", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(Life expectancy, 1998)\n" - ] - } - ], - "source": [ - "sysuse lifeexp, clear" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "3004856c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
regioncountrypopgrowthlexpgnppcsafewater
1Eur & C.AsiaAlbania1.27281076
2Eur & C.AsiaArmenia1.174460.
3Eur & C.AsiaAustria.400000017926830.
4Eur & C.AsiaAzerbaijan1.471480.
5Eur & C.AsiaBelarus.30000001682180.
6Eur & C.AsiaBelgium.27825380.
7Eur & C.AsiaBosnia and Herzegovina-.573..
8Eur & C.AsiaBulgaria-.40000001711220.
9Eur & C.AsiaCroatia-.173462063
10Eur & C.AsiaCzech Republic0755150.
\n", - "
" - ], - "text/plain": [ - "\n", - " +-----------------------------------------------------------------+\n", - " 1. | region | country | popgro~h | lexp | gnppc |\n", - " | Eur & C.Asia | Albania | 1.2 | 72 | 810 |\n", - " |-----------------------------------------------------------------|\n", - " | safewa~r |\n", - " | 76 |\n", - " +-----------------------------------------------------------------+\n", - "\n", - " +-----------------------------------------------------------------+\n", - " 2. | region | country | popgro~h | lexp | gnppc |\n", - " | Eur & C.Asia | Armenia | 1.1 | 74 | 460 |\n", - " |-----------------------------------------------------------------|\n", - " | safewa~r |\n", - " | . |\n", - " +-----------------------------------------------------------------+\n", - "\n", - " +-----------------------------------------------------------------+\n", - " 3. | region | country | popgro~h | lexp | gnppc |\n", - " | Eur & C.Asia | Austria | .4 | 79 | 26830 |\n", - " |-----------------------------------------------------------------|\n", - " | safewa~r |\n", - " | . |\n", - " +-----------------------------------------------------------------+\n", - "\n", - " +-----------------------------------------------------------------+\n", - " 4. | region | country | popgro~h | lexp | gnppc |\n", - " | Eur & C.Asia | Azerbaijan | 1.4 | 71 | 480 |\n", - " |-----------------------------------------------------------------|\n", - " | safewa~r |\n", - " | . |\n", - " +-----------------------------------------------------------------+\n", - "\n", - " +-----------------------------------------------------------------+\n", - " 5. | region | country | popgro~h | lexp | gnppc |\n", - " | Eur & C.Asia | Belarus | .3 | 68 | 2180 |\n", - " |-----------------------------------------------------------------|\n", - " | safewa~r |\n", - " | . |\n", - " +-----------------------------------------------------------------+\n", - "\n", - " +-----------------------------------------------------------------+\n", - " 6. | region | country | popgro~h | lexp | gnppc |\n", - " | Eur & C.Asia | Belgium | .2 | 78 | 25380 |\n", - " |-----------------------------------------------------------------|\n", - " | safewa~r |\n", - " | . |\n", - " +-----------------------------------------------------------------+\n", - "\n", - " +-----------------------------------------------------------------+\n", - " 7. | region | country | popgro~h | lexp | gnppc |\n", - " | Eur & C.Asia | Bosnia and Herzegovina | -.5 | 73 | . |\n", - " |-----------------------------------------------------------------|\n", - " | safewa~r |\n", - " | . |\n", - " +-----------------------------------------------------------------+\n", - "\n", - " +-----------------------------------------------------------------+\n", - " 8. | region | country | popgro~h | lexp | gnppc |\n", - " | Eur & C.Asia | Bulgaria | -.4 | 71 | 1220 |\n", - " |-----------------------------------------------------------------|\n", - " | safewa~r |\n", - " | . |\n", - " +-----------------------------------------------------------------+\n", - "\n", - " +-----------------------------------------------------------------+\n", - " 9. | region | country | popgro~h | lexp | gnppc |\n", - " | Eur & C.Asia | Croatia | -.1 | 73 | 4620 |\n", - " |-----------------------------------------------------------------|\n", - " | safewa~r |\n", - " | 63 |\n", - " +-----------------------------------------------------------------+\n", - "\n", - " +-----------------------------------------------------------------+\n", - " 10. | region | country | popgro~h | lexp | gnppc |\n", - " | Eur & C.Asia | Czech Republic | 0 | 75 | 5150 |\n", - " |-----------------------------------------------------------------|\n", - " | safewa~r |\n", - " | . |\n", - " +-----------------------------------------------------------------+\n", - "\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "%head" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "8121e436", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - " Region | Freq. Percent Cum.\n", - "-------------+-----------------------------------\n", - "Eur & C.Asia | 44 64.71 64.71\n", - " N.A. | 14 20.59 85.29\n", - " S.A. | 10 14.71 100.00\n", - "-------------+-----------------------------------\n", - " Total | 68 100.00\n" - ] - } - ], - "source": [ - "tabulate region" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "8809950f", - "metadata": {}, - "outputs": [ - { - "data": { - "application/pdf": "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", - "image/svg+xml": [ - "\n", - "\n", - "\n", - "\n", - "\tStata Graph - Graph\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t55\n", - "\t\n", - "\t60\n", - "\t\n", - "\t65\n", - "\t\n", - "\t70\n", - "\t\n", - "\t75\n", - "\t\n", - "\t80\n", - "\tLife expectancy at birth\n", - "\t\n", - "\t\n", - "\t0\n", - "\t\n", - "\t10000\n", - "\t\n", - "\t20000\n", - "\t\n", - "\t30000\n", - "\t\n", - "\t40000\n", - "\tGNP per capita\n", - "\n" - ], - "text/html": [ - " \n" - ], - "text/plain": [ - "This front-end cannot display the desired image type." - ] - }, - "metadata": { - "image/svg+xml": { - "height": 436, - "width": 600 - }, - "text/html": { - "height": 436, - "width": 600 - } - }, - "output_type": "display_data" - } - ], - "source": [ - "scatter lexp gnppc" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dd36d7e7", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Stata", - "language": "stata", - "name": "stata" - }, - "language_info": { - "codemirror_mode": "stata", - "file_extension": ".do", - "mimetype": "text/x-stata", - "name": "stata", - "version": "15.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/life-exp.md b/life-exp.md deleted file mode 100644 index 2c6eb61..0000000 --- a/life-exp.md +++ /dev/null @@ -1,333 +0,0 @@ -```stata -sysuse lifeexp, clear -``` - - (Life expectancy, 1998) - - - -```stata -%head -``` - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
regioncountrypopgrowthlexpgnppcsafewater
1Eur & C.AsiaAlbania1.27281076
2Eur & C.AsiaArmenia1.174460.
3Eur & C.AsiaAustria.400000017926830.
4Eur & C.AsiaAzerbaijan1.471480.
5Eur & C.AsiaBelarus.30000001682180.
6Eur & C.AsiaBelgium.27825380.
7Eur & C.AsiaBosnia and Herzegovina-.573..
8Eur & C.AsiaBulgaria-.40000001711220.
9Eur & C.AsiaCroatia-.173462063
10Eur & C.AsiaCzech Republic0755150.
-
- - - -```stata -tabulate region -``` - - - Region | Freq. Percent Cum. - -------------+----------------------------------- - Eur & C.Asia | 44 64.71 64.71 - N.A. | 14 20.59 85.29 - S.A. | 10 14.71 100.00 - -------------+----------------------------------- - Total | 68 100.00 - - - -```stata -scatter lexp gnppc -``` - - - - - - - -```stata - -``` diff --git a/life-exp.pdf b/life-exp.pdf deleted file mode 100644 index ced11af78d2cf1fabc62f1cda39dd59da2cf73ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26521 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 HDhv2uv>}_; diff --git a/life-exp_files/life-exp_3_0.pdf b/life-exp_files/life-exp_3_0.pdf deleted file mode 100644 index 1061023045774b2b7d017c29b6198d7326b4e452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8836 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 diff --git a/life-exp_files/life-exp_3_0.svg b/life-exp_files/life-exp_3_0.svg deleted file mode 100644 index 9ddc4b8..0000000 --- a/life-exp_files/life-exp_3_0.svg +++ /dev/null @@ -1,169 +0,0 @@ - - - - - Stata Graph - Graph - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 55 - - 60 - - 65 - - 70 - - 75 - - 80 - Life expectancy at birth - - - 0 - - 10000 - - 20000 - - 30000 - - 40000 - GNP per capita -