日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stata15中文乱码_Stata15:一次性转码,解决中文乱码问题

發(fā)布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stata15中文乱码_Stata15:一次性转码,解决中文乱码问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者:連玉君 (知乎 | 主頁 | 碼云)

Note: 助教招聘信息請進(jìn)入「課程主頁」查看。因果推斷-內(nèi)生性 專題 ? 2020.11.12-15 主講:王存同 (中央財經(jīng)大學(xué));司繼春(上海對外經(jīng)貿(mào)大學(xué))空間計量 專題 ? 2020.12.10-13 主講:楊海生 (中山大學(xué));范巧 (蘭州大學(xué))

程序使用說明

ua 命令

適用于 stata15 用戶。可以一次性對當(dāng)前工作路徑以及所有子文件夾中的文件進(jìn)行轉(zhuǎn)碼(unicode),以保證中文字符可以正常顯示。

安裝

- 到這里 - 下載 ua.ado 和 ua.hlp,放置于 D:\stata15\ado\base\u 或 D:\stata15\ado\plus\u 文件夾中。(下載地址:https://gitee.com/arlionn/ua )

使用在 Stata 命令窗口中輸入 help ua,查看命令介紹和 Stata 范例。參照范例使用即可。

Stata 范例

* Change current working directory (CWD)

. cd D:\stata15\ado\personal\mypaper

* Unicode all .dta files in CWD and files in sub-directories

. ua: unicode encoding set gb18030

. ua: unicode translate *.dta

* Unicode all files (.do, .ado, .dta, .hlp, etc.) in CWD and files in sub-directories

. ua: unicode encoding set gb18030

. ua: unicode translate *

故事背景(程序撰寫過程)我昨天下午 5 點有個需求:我是從 Stata 13 直接跳到 15 的。可是,Stata 15 的中文編碼方案全變了,導(dǎo)致 do-file 和數(shù)據(jù)文件中的中文字符全是亂碼。Stata 提供了一組 unicode 開頭的命令,可以很方便地進(jìn)行轉(zhuǎn)碼。但只能一個文件夾一個文件夾地轉(zhuǎn)。我用了 14 年的 stata,有成百上千個文件夾需要轉(zhuǎn)碼! 搜索了半天無果。只好求助濤哥 (李春濤是也)。

濤哥的第一反應(yīng)是需要編程。我們的共識是需要遍歷所有文件夾,記錄下來,然后用循環(huán)語句進(jìn)入每一個文件夾,進(jìn)行轉(zhuǎn)碼。

我以為他會停幾天再開始做這個工作。又不好催促他,以便搭他的便車。只好自己開始弄。或許他也不好意思搭我的便車,哈哈。

沒想到今天晚上寫好所有程序和說明文檔后分享給他時,他居然也完工了!

看來,有好奇心的人都是一樣的亟不可待!

背靠背工作記錄

有想法:2017/12/18 17:05

同時完工:2017/12/19 22:28

我們的思路有何差別整體思路:遍歷當(dāng)前文件夾下的所有子文件夾,對每個文件夾進(jìn)行轉(zhuǎn)碼。

問題的關(guān)鍵:如何遍歷所有的子文件夾,并記錄這些文件夾的名稱。

濤哥的思路:使用如下 dos 命令遍歷當(dāng)前工作文件夾下的所有子文件夾,并將他們存入一個文本文件 output.txt,隨后使用infix命令讀入內(nèi)存:

!dir /B /S /ad >> output.txt

infix strL v 1-2000 using "output.txt"

最終,濤哥的程序長這樣:

君哥的思路:使用外部命令rcd實現(xiàn)上述功能,所有子文件夾名稱均以返回值的形式存儲于內(nèi)存中。執(zhí)行過程如下:

然后就可以寫一個循環(huán)逐個文件夾進(jìn)行轉(zhuǎn)碼了:

最終,君哥的程序長這樣:

原始程序和使用方法

濤哥的程序

濤哥的程序尚未封裝成 .ado 文件,但用起來到也方便。直接復(fù)制如下代碼到一個 Do-file 中,使用 cd 命令進(jìn)入需要轉(zhuǎn)碼的文件夾,然后選中如下命令,執(zhí)行即可(快捷鍵是 Ctrl+D):

cd "D:\stata15\ado\personal\mypaper" //自行修改

!dir /B /S /ad >> output.txt

clear

unicode analyze output.txt

unicode encoding set gb18030

unicode translate "output.txt", transutf8

unicode erasebackups, badidea

infix strL v 1-2000 using "output.txt"

levelsof v ,local(urllist)

! del output.txt

clear

unicode translate * , transutf8

foreach c of local urllist{

clear

cd `"`c'"'

unicode encoding set gb18030

cap unicode translate * , transutf8

}

君哥的程序

已經(jīng)封裝成 .ado 文件,并配有說明文檔。請到 Stata連享會-碼云-ua項目中(鏈接為:https://gitee.com/arlionn/ua)下載 ua.ado 和 ua.hlp 文件,放置于 D:\stata15\ado\base\u 或 D:\stata15\ado\plus\u 文件夾中。然后在 Stata 命令窗口中輸入 help ua,查看命令介紹和 Stata 范例。參照范例使用即可。

Stata 范例

* 進(jìn)入需要轉(zhuǎn)碼的文件夾

. cd D:\stata15\ado\personal\mypaper

* 對當(dāng)前文件夾及子文件夾中的所有 .dta 文件轉(zhuǎn)碼

. ua: unicode encoding set gb18030

. ua: unicode translate *.dta

* 對所有類型的文件轉(zhuǎn)碼

. ua: unicode encoding set gb18030

. ua: unicode translate *

結(jié)語生活如此美好!因為有你有我!

精選課程支持回看,課程不受直播時間限制,可以隨時購買觀看。游萬海,Stata: 分位數(shù)回歸,4.21 日 19:00-21:00,直播.

司繼春, 游萬海, 文本分析與爬蟲:專題視頻,四天直播回放

連玉君,Stata: 實證研究設(shè)計,2.4小時,模型設(shè)定、穩(wěn)健性、內(nèi)生性

連玉君,Stata: 動態(tài)面板模型,2.5小時,知其然,知其所以然

相關(guān)課程部分直播課

課程一覽支持回看,所有課程可以隨時購買觀看。Note: 部分課程的資料,PPT 等可以前往關(guān)于我們Stata 連享會 由中山大學(xué)連玉君老師團(tuán)隊創(chuàng)辦,定期分享實證分析經(jīng)驗。

公眾號推文分類:計量專題 | 內(nèi)生性 | 空間計量 | 時序面板 | 結(jié)果輸出 | 交乘調(diào)節(jié) 五類,主流方法介紹一目了然:DID, RDD, IV, GMM, FE, Probit 等。連享會小程序:掃一掃,看推文,看視頻……掃碼加入連享會微信群,提問交流更方便

總結(jié)

以上是生活随笔為你收集整理的stata15中文乱码_Stata15:一次性转码,解决中文乱码问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。