{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "e13951bc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loaded client.js from C:\\Users\\jjsan\\GitHub\\jupyter-notebook-mcp\\src\\client.js\n", "WebSocket server started on ws://localhost:8765\n" ] }, { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", " \n", " Jupyter MCP Integration Setup Complete\n", " WebSocket server is running on port 8765\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Jupyter client connected\n", "External client connected (likely MCP server)\n" ] } ], "source": [ "import sys\n", "sys.path.append('C:/Users/jjsan/GitHub/jupyter-notebook-mcp/src') # absolut or relative path to src folder\n", "from jupyter_ws_server import setup_jupyter_mcp_integration\n", "setup_jupyter_mcp_integration();\n", "\n", "\n", "import stata_setup\n", "stata_setup.config(\"C:/Program Files/Stata18/\", \"se\", splash=False)" ] }, { "cell_type": "code", "execution_count": 2, "id": "23b92f73", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", ". /* Stata Assignment 2 Solutions */\n", ". \n", ". /* 1. Read the data file */\n", ". infix METAREAD 4-7 POVRATIO 18-20 TRANTIME 21-23 using \"./stata_assignment_2.\n", "> dat\", clear\n", "(23,479 observations read)\n", "\n", ". \n", ". /* 2. Declare \"zero\" as a missing value for TRANTIME */\n", ". mvdecode TRANTIME, mv(0)\n", " TRANTIME: 12350 missing values generated\n", "\n", ". \n" ] } ], "source": [ "%%stata\n", "/* Stata Assignment 2 Solutions */\n", "\n", "/* 1. Read the data file */\n", "infix METAREAD 4-7 POVRATIO 18-20 TRANTIME 21-23 using \"./stata_assignment_2.dat\", clear\n", "\n", "/* 2. Declare \"zero\" as a missing value for TRANTIME */\n", "mvdecode TRANTIME, mv(0)" ] }, { "cell_type": "code", "execution_count": 3, "id": "d569512f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", ". /* 3. Create a new dichotomous poverty variable */\n", ". gen poor = (POVRATIO < 100)\n", "\n", ". label variable poor \"Below Poverty Line\"\n", "\n", ". label define poorlbl 0 \"Not Poor\" 1 \"Poor\"\n", "\n", ". label values poor poorlbl\n", "\n", ". \n", ". /* Verify the new variable */\n", ". tab poor, missing\n", "\n", " Below |\n", " Poverty |\n", " Line | Freq. Percent Cum.\n", "------------+-----------------------------------\n", " Not Poor | 20,805 88.61 88.61\n", " Poor | 2,674 11.39 100.00\n", "------------+-----------------------------------\n", " Total | 23,479 100.00\n", "\n", ". \n" ] } ], "source": [ "%%stata\n", "/* 3. Create a new dichotomous poverty variable */\n", "gen poor = (POVRATIO < 100)\n", "label variable poor \"Below Poverty Line\"\n", "label define poorlbl 0 \"Not Poor\" 1 \"Poor\"\n", "label values poor poorlbl\n", "\n", "/* Verify the new variable */\n", "tab poor, missing" ] }, { "cell_type": "code", "execution_count": 4, "id": "ff04e03d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", ". /* Create a descriptive variable for the metropolitan area */\n", ". gen metro = \"\"\n", "(23,479 missing values generated)\n", "\n", ". replace metro = \"Duluth-Superior\" if METAREAD == 2240\n", "variable metro was str1 now str15\n", "(2,127 real changes made)\n", "\n", ". replace metro = \"Minneapolis-St. Paul\" if METAREAD == 5120\n", "variable metro was str15 now str20\n", "(21,352 real changes made)\n", "\n", ". label variable metro \"Metropolitan Area\"\n", "\n", ". \n", ". /* Check the distribution of observations by metropolitan area */\n", ". tab metro, missing\n", "\n", " Metropolitan Area | Freq. Percent Cum.\n", "---------------------+-----------------------------------\n", " Duluth-Superior | 2,127 9.06 9.06\n", "Minneapolis-St. Paul | 21,352 90.94 100.00\n", "---------------------+-----------------------------------\n", " Total | 23,479 100.00\n", "\n", ". \n" ] } ], "source": [ "%%stata\n", "/* Create a descriptive variable for the metropolitan area */\n", "gen metro = \"\"\n", "replace metro = \"Duluth-Superior\" if METAREAD == 2240\n", "replace metro = \"Minneapolis-St. Paul\" if METAREAD == 5120\n", "label variable metro \"Metropolitan Area\"\n", "\n", "/* Check the distribution of observations by metropolitan area */\n", "tab metro, missing" ] }, { "cell_type": "code", "execution_count": 5, "id": "8e02aa49", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", ". /* 4. Analysis by metropolitan area */\n", ". \n", ". /* Minneapolis-St. Paul */\n", ". /* Histogram of commuting time */\n", ". histogram TRANTIME if metro == \"Minneapolis-St. Paul\", ///\n", "> title(\"Commuting Time in Minneapolis-St. Paul\") ///\n", "> xtitle(\"Travel Time to Work (minutes)\") ///\n", "> xlabel(0(15)120) ///\n", "> name(hist_msp, replace)\n", "(bin=40, start=1, width=3.7)\n", "\n", ". \n", ". /* Measures of central tendency and spread for commuting time */\n", ". tabstat TRANTIME if metro == \"Minneapolis-St. Paul\", ///\n", "> statistics(n mean sd min p25 p50 p75 max) columns(statistics)\n", "\n", " Variable | N Mean SD Min p25 p50\n", "-------------+------------------------------------------------------------\n", " TRANTIME | 10228 24.91504 18.8515 1 15 20\n", "--------------------------------------------------------------------------\n", "\n", " Variable | p75 Max\n", "-------------+--------------------\n", " TRANTIME | 30 149\n", "----------------------------------\n", "\n", ". \n" ] }, { "data": { "image/svg+xml": [ "\n", "\tStata Graph - hist_msp\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", "\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
WebSocket server is running on port 8765