最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

軟件教程 | Jupyter&stata之stata_kernel攻略

2023-02-22 22:37 作者:歲月應(yīng)無虞  | 我要投稿


目錄:


  • 一、什么是stata_kernel

    • 1. stata_kernel簡介

    • 2. 為什么要使用stata_kernel

    • 3. stata_kernel與pystata的區(qū)別

    • 4. stata_kernel與pystata如何選擇

  • 二、如何安裝stata_kernel

    • 1. 安裝任意一個jupyter環(huán)境

    • 2. 自定義jupyter環(huán)境配置(可選)

    • 3. 安裝stata_kernel

    • 4. 安裝stata語法高亮

  • 三、使用stata_kernel

  • 四、卸載stata_kernel

  • 五、疑難雜癥解決

    • 1. 圖像不顯示問題

    • 2. 運行stata代碼時內(nèi)核無響應(yīng)

    • 3. 其他疑難雜癥


一、什么是stata_kernel

Github:kylebarron/stata_kernel[1]

1. stata_kernel簡介

Jupyter是一個用于交互式數(shù)據(jù)科學的開源生態(tài)系統(tǒng),簡單來說通過stata_kernel,用戶可以為jupyter工具安裝一個stata內(nèi)核,再通過jupyter環(huán)境調(diào)用本地的stata應(yīng)用,完成一系列在stata中可以進行的操作。

2. 為什么要使用stata_kernel

stata作為一個專業(yè)的數(shù)據(jù)分析和科學研究軟件,雖然其有著眾多的計量分析工具,且在回歸分析等方面有著巨大的功能優(yōu)勢,但我始終覺得它的UI設(shè)計丑陋且不合理。

個人認為stata與SPSS最大的區(qū)別在于用戶在使用過程中的操作邏輯不同:前者偏向于代碼邏輯,操作快捷,自定義程度高,但有著一定的編程門檻;而后者偏向于UI操作,操作復(fù)雜,自定義程度及復(fù)用性不高,但勝在使用門檻較低。因此當代碼邏輯的stata也開發(fā)出一套用于快捷操作的UI時,未免會讓像我這樣的使用者覺得有點狗尾續(xù)貂,本質(zhì)上來說,我對stata的使用需求更多是在于其豐富多元的計量分析命令,我希望通過編寫程序的方式去解決每一個數(shù)據(jù)分析問題,并且讓這些程序在不同問題上可以簡單迅速地復(fù)用(因此注釋或筆記功能就顯得非常重要),同時我還希望能將我解決問題的過程形成筆記或講義,因此界面的美觀程度以及可導(dǎo)出性也是我所重視的問題。

而在眾多IDE工具中(pycharm、vscode等),jupyter工具(jupyternotebook或jupyterlab)在編程學習或數(shù)據(jù)分析方面一直有著獨特的優(yōu)勢,其UI簡潔明亮,其也是我目前最喜歡使用的一款I(lǐng)DE工具(尤其是在jupyterlab推出桌面版且兼容了插件管理器之后);所以在jupyterlab中像開發(fā)python程序一般編寫我的stata程序,并且能夠?qū)崟r調(diào)試或者記錄筆記,就成為了我對stata使用的追求,而通過使用stata_kernel,便可以實現(xiàn)這一點!

3. stata_kernel與pystata的區(qū)別

熟悉stata的朋友應(yīng)該知道,在stata17之后,官方推出了一種stata與python的全新交互方式,即通過在python環(huán)境中直接安裝pystata模塊,便能在python環(huán)境中直接調(diào)用stata17。而這正是二者的區(qū)別,stata_kernel以是jupyter環(huán)境內(nèi)核的形式運行,而pystata則以python包的形式運行,這是兩種不同的運行模式,即便我是在jupyter環(huán)境中運行python內(nèi)核,從而運行stata代碼,也與stata_kernel的方式運行stata代碼截然不同。

當然,我們沒有必要去區(qū)分二者的運行方式差異,畢竟一般情況下使用者僅僅關(guān)注最終的結(jié)果,在我目前的使用場景和體驗中,我認為二者的差別或者優(yōu)劣如下:

stata_kernel:
  • 優(yōu)勢:?使用stata_kernel,我可以像在stata中一樣去編寫我的數(shù)據(jù)分析程序,并且可以隨時插入markdown筆記,或者喚起stata程序(在stata_kernel中運行bro命令將會喚醒本地的stata應(yīng)用,并在stata中呈現(xiàn)bro的結(jié)果)通過UI界面直接查看某些數(shù)據(jù)情況;同時我還可以通過安裝jupyter插件,實現(xiàn)stata的語法高亮,使得我的代碼美觀易懂;

  • 劣勢:?使用stata_kernel,我無法如使用pystata一般地實現(xiàn)stata與python的交互。

pystata:
  • 優(yōu)勢:?使用pystata,我可以輕松地實現(xiàn)python與stata的交互,比如我可以通過python命令清洗數(shù)據(jù),再調(diào)用stata中豐富的數(shù)據(jù)分析指令進行計量分析,并使用python指令對分析結(jié)果進行美化和輸出;這一系列操作將不會有任何割裂感,因為本質(zhì)上我們都是在python環(huán)境中完成這些操作的;

  • 劣勢:?使用pystata,我們要調(diào)用stata語法時,將不得不在每一個cell中添加魔法指令%%stata,或使用復(fù)雜的stata.run("")語句去使stata命令生效;且由于此時的語法高亮僅作用于python語言,我們將不能正確對stata的語法進行高亮顯示。

4. stata_kernel與pystata如何選擇

如果你需要的是一個更加美觀便捷,功能豐富的stata編輯器,那么使用stata_kernel即可;如果你更看重stata與python的交互功能,那么你應(yīng)該使用pystata;如果你兼有兩種需求,那么小孩子才做選擇,大人當然全都要!

二、如何安裝stata_kernel

1. 安裝任意一個jupyter環(huán)境

推薦使用anaconda配置基礎(chǔ)環(huán)境,再使用jupyterlab Desktop或者vscode引用anaconda配置好的環(huán)境內(nèi)核,來作為你的IDE工具。

2. 自定義jupyter環(huán)境配置(可選)

注:以下命令,均假設(shè)你的基礎(chǔ)環(huán)境是通過使用anaconda來配置的

2.1 Jupyter更改啟動路徑

打開Anaconda Prompt,在對應(yīng)環(huán)境下運行jupyter notebook --generate-config,找到剛生成的配置文件jupyter_notebook_config.py,打開后找到#c.NotebookApp.notebook_dir =?語句,將其改為c.NotebookApp.notebook_dir = '自定義啟動路徑',然后保存配置文件。

2.2 Jupyter更改中文語言

打開Anaconda Prompt,在對應(yīng)環(huán)境下運行pip install jupyterlab-language-pack-zh-CN,然后打開jupyterlab,選擇"設(shè)置——語言——中文",并重啟內(nèi)核。

3. 安裝stata_kernel

3.1 注冊stata

用管理員權(quán)限打開Windows PowerShell,然后運行以下指令:

cd "D:\ProgramData\Stata16" .\StataMP-64.exe /Register

其中"D:\ProgramData\Stata17"為本地stata的安裝地址,StataMP-64.exe為MP版本stata的啟動程序名稱,如果是SE版本則改為StataSE-64.exe即可

3.2 安裝kernel

  • 首先打開Anaconda Prompt,然后運行以下指令:

conda update conda python -m pip install --upgrade pip pip install stata_kernel

  • 然后在本地查找.stata_kernel.conf文件(一般在C盤用戶文件根目錄),打開后將第二行改為stata_path = "D:\ProgramData\Stata17\StataMP-64.exe",即本地stata程序的存放路徑。

需要注意的是,如果電腦中更新了stata版本(比如我之前是從stata16更新到stata17),僅僅重裝stata_kernel是不會自動更新stata_path的,需要將用戶文件夾下的.stata14文件夾刪除(即刪除舊版的文件夾,這是一個隱藏文件夾),再重裝stata_kernel或手動修改stata_path才能繼續(xù)關(guān)聯(lián)。
  • 最后再打開Anaconda Prompt,運行以下指令:

python -m stata_kernel.install

4. 安裝stata語法高亮

打開Anaconda Prompt,運行以下指令:

jupyter labextension install jupyterlab-stata-highlight

三、使用stata_kernel

打開jupyterlab,選擇stata內(nèi)核,像編寫python程序一樣使用stata吧!

stata_kernel開發(fā)者文檔[2]

四、卸載stata_kernel

打開Anaconda Prompt,運行以下指令:

pip uninstall stata_kernel jupyter kernelspec list jupyter kernelspec remove stata

五、疑難雜癥解決

1. 圖像不顯示問題

當本地使用的是stata17版本時,可能會出現(xiàn)在jupyter中運行stata畫圖指令時無法輸出圖像(僅會保存圖像至本地并輸出保存路徑)的問題,這是因為Stata17引入了許多破壞與stata_kernel兼容性的變化[3]。

盡管在2022年4月5日已有開發(fā)者mcaceresb[4]修復(fù)了這一問題,但stata_kernel的原作者似乎對于這個項目已經(jīng)不再上心且已經(jīng)很久未進行維護,導(dǎo)致最新版的stata_kernel發(fā)行包仍停留在2020年發(fā)行的v1.12.2[5],因此我們無法通過pip的方式進行更新,但我們依然可以從github上下載最新的源代碼在本地進行替換更新。

我們僅需在github[6]上下載最新的stata_kernel包源文件,解壓后將stata_kernel文件夾下的所有文件復(fù)制粘貼至當前開發(fā)環(huán)境中的stata_kernel安裝目錄(如我的路徑是D:\ProgramData\Anaconda3\Lib\site-packages\stata_kernel),并替換重復(fù)文件即可。

2. 運行stata代碼時內(nèi)核無響應(yīng)

檢查安裝anaconda時是否已將當前將Anaconda相關(guān)文件路徑添加到了系統(tǒng)Path中,若有缺失則補充添加,添加方式為右鍵點擊計算機——屬性——高級系統(tǒng)設(shè)置——高級——環(huán)境變量——系統(tǒng)變量——Path——編輯——新建,所需配置的環(huán)境路徑如下:

  • 安裝路徑\Anaconda(調(diào)用Python時需要)

  • 安裝路徑\Anaconda\Scripts(調(diào)用conda自帶腳本時需要)

  • 安裝路徑\Anaconda\Library\mingw-w64\bin(使用C with python時需要)

  • 安裝路徑\Anaconda\Library\usr\bin

  • 安裝路徑\Anaconda\Library\bin(調(diào)用jupyter notebook動態(tài)庫時需要)

例如,我添加的路徑如下:

D:\ProgramData\Anaconda3 D:\ProgramData\Anaconda3\Scripts D:\ProgramData\Anaconda3\Library\mingw-w64\bin D:\ProgramData\Anaconda3\Library\usr\bin D:\ProgramData\Anaconda3\Library\bin

3. 其他疑難雜癥

3.1 思路①:完全卸載并重裝Anaconda

打開Anaconda Prompt,運行以下指令:

conda install anaconda-clean anaconda-clean --yes

然后卸載anaconda并重新安裝

3.2 思路②:完全卸載并重裝stata

卸載stata_kernel——卸載stata——重裝stata——重裝stata_kernel

Reference

[1]

stata_kernel github地址:?github.com/kylebarron/s

[2]

stata_kernel開發(fā)者文檔:?kylebarron.dev/stata_ke

[3]

Stata17引入了許多破壞與stata_kernel兼容性的變化:?github.com/kylebarron/s

[4]

View all commits by mcaceresb:?github.com/kylebarron/s

[5]

v1.12.2版:?github.com/kylebarron/s

[6]

kylebarron/stata_kernel:?github.com/kylebarron/s

軟件教程 | Jupyter&stata之stata_kernel攻略的評論 (共 條)

分享到微博請遵守國家法律
阳朔县| 榆林市| 安塞县| 左云县| 靖江市| 汝阳县| 黔东| 凯里市| 孝感市| 大新县| 平潭县| 昌平区| 通州区| 成都市| 墨玉县| 邻水| 安泽县| 景宁| 吕梁市| 分宜县| 榆林市| 息烽县| 古交市| 蒲江县| 宝清县| 临泽县| 平罗县| 灌南县| 江津市| 工布江达县| 闵行区| 昭通市| 翁源县| 大英县| 沅江市| 灵璧县| 越西县| 陆丰市| 彭州市| 赫章县| 商城县|