Stata+搜狗=?=效率!(搜狗自定义短语)
1. Stata 输入:蜗牛变猎豹
8 月中旬参加完首届 stata 用户大会后,测试了多种 Stata 编辑器,包括 sublime text 3 (ST3)
,atom
, VScode
等等。最终发现我的需求似乎还无需用这些高大上的东西,因为 MC>>MR。
我的需求很简单:把重复的工作系统化、自动化。
我的思路很简单:优化组合现有工具 = 新工具
比如,我做 Stata 讲义时,经常要输入 sysuse "auto.dta", clear
,或者 sysuse "nlsw88.dta", clear
,每次都输入这么长一串,很烦。又如,每次做论文中的几张基本表格(表1:基本统计量;表2:相关系数矩阵;表3:回归结果),都要找出以前的代码,复制粘贴过来。若是自己重新写,怎么着也要折腾个 5-10 分钟吧。
若是有个快捷命令就好了。于是,我用搜狗输入法自带的【搜狗自定义短语配置】功能,把这些需要经常用的命令、代码都做成短语,只要输入几个字母就出现一大串代码。
然后,我的打字效率就从蜗牛变猎豹了:
2. 如何定义【搜狗自定义短语】
你可以在简书上搜索关键词【搜狗自定义短语】,找到很多相关的教程。这里,我只做简要说明。
第一步:点击[设置],快捷键 Ctrl+Shift+M
第二步:点击【设置属性】
第三步:依次点击【高级设置】→【自定义短语设置】→【直接编辑配置文件】
第四步:在弹出的文本文档底部添加自定义短语设置,具体内容参见下文【3. 我的配置文件】,你可以直接粘贴过去,保存即可
第五步:编辑完短语后,按图依次点击“应用” → “确定”, 即可开始愉快的输入了
3. 我的配置文件
下面贴出我的部分配置文件,你只需选择需要的,贴入你的配置文件中,根据自己的习惯修改关键词或缩写设定即可。
3.1 Stata 常用命令之搜狗短语设置
st,1= Stata
lc,1=local ""
gl,1=global ""
ests,1=est store m
sh,1=shellout "$R\.pdf"
vb,1=view browse ""
trace,1=set trace on
trace,2=set trace off
sysuse,1=sysuse "auto.dta", clear
sysuse,2=sysuse "nlsw88.dta", clear
use, 1=use ".dta", clear
pre,1=
preserve
restore
log,1=
cap log close
log using logname, text replace
log close
deli,1=
#delimit ;
#delimit cr
3.2 基本统计和回归结果相关
fsum,1=
local v " " //连续变量
local c " " //类别变量
local s "$Out\Table1_sum" //文件名(或路径\文件名)
logout, save("`s'") excel replace: ///
fsum `v', s(mean sd p50 min max) cat(`c') label
tabstat,1=
*-----表1:基本统计量-------
local v " " //填入变量名
local s "$Out\Table1_sum" //存储的文件名(或路径\文件名)
logout, save("`s'") excel replace: ///
tabstat `v', stat(mean sd p50 min max) f(%6.2f) c(s)
pwcorr,1=
*-----表2:相关系数矩阵-------
local v " " //填入变量名
local s "$Out\Table2_corr" //存储的文件名(或路径\文件名)
logout, save("`s'") excel replace: ///
pwcorr_a `v', format(%6.2f) //star(0.05)
esttab,1=
*-----表3:回归结果-------
local s "using $Out\Table3_reg.csv" //执行时包括这一行会输出Excel表格
local m "m1 m2 m3"
esttab `m' `s', nogap compress replace ///
b(%6.3f) s(N r2_a) drop(`drop') ///
star(* 0.1 ** 0.05 *** 0.01) ///
addnotes("*** 1% ** 5% * 10%")
esttab,2=
*----------------------------------------------------begin--------
local s "using $Out\Table3_reg.csv"
local m "m1 m2 m3"
local drop ""
#d ;
esttab `m' `s', compress nogap replace
b(%6.3f) t(%6.2f) star(* 0.1 ** 0.05 *** 0.01)
stats(Cluster N r2_a, fmt(%3s %12.0f %9.3f)) varwidth(20)
drop(`drop')
title("Table1 Determinants of Women's Wage")
mtitle("OLS" "OLS" "OLS with Occupation dummies") ;
#d cr
*----------------------------------------------------over---------
twoway,1=
*------------------------------------------------------------Begin
local gname "$Out\Fig01.wmf" //图形名称和存储位置
#delimit ;
twoway ( )
( )
,
ylabel(, angle(0) grid)
legend(ring(0) position(3))
note("数据来源: 雅虎财经!")
;
#delimit cr
graph export "`gname'", replace
*------------------------------------------------------------Over
图片版:
3.3 Stata 程序相关:循环语句和条件语句等
prog,1=
capture program drop
program define
version 13.0
end
if,1=
if {
}
else{
}
for,1=
forvalues i=1/`N'{
}
3.4 Stata 讲义短语
title,1=
*------------------
*-
*------------------
title,2=
*===================
*-
*===================
dotitle,1=
*--------------------------------
*-日期:
*-目的:
*-方法:
*-作者:连玉君,中山大学岭南学院金融系
*--------------------------------
statalxh,1=
*-------- Stata连享会 -----------
*-
fanli,1=Stata 范例:
scom,1=
*-Comments:
* 1
* 2
begin,1=
*-----------------Begin-----------
*-----------------Over------------
*-Notes:
* 1.
* 2.
3.5 Markdown 相关短语和关键词
md,1=Markdown
toc,1=[toc]
yy,1=``
lianjie,2=- []()
lianj,1=[]()
btsan,1=###
bter,1=##
tupian,1=![]()
zuozhe,1=> 作者:连玉君,中山大学岭南学院金融系
lianxh,1=
---
![Stata连享会二维码](http://wx1.sinaimg.cn/mw690/8abf9554gy1fj9p14l9lkj20m30d50u3.jpg "扫码关注 Stata 连享会")
riqi,1=#$year.$month.$day
riqi,2=#$year年$month月$day日星期$weekday
致谢
本文受 《永澄:凡是出现两次的事情就要考虑系统化、自动化》 的启发。
欢迎补充
可以直接在本文底部添加评论,亦可发送邮件至 StataChian@163.com
往期精彩推文
Stata连享会简介
Stata连享会由中山大学连玉君老师团队创办,旨在定期与大家分享Stata应用的各种经验和技巧。
公众号推文同步发布于 【简书-Stata连享会】 和【知乎-连玉君Stata专栏】。可以在简书和知乎中搜索关键词
Stata
或Stata连享会
后关注我们。
联系我们
欢迎赐稿: 欢迎将您的文章或笔记投稿至
Stata连享会
,我们会保留您的署名;录用稿件达五篇
以上,您将会免费获得Stata现场培训
(初级或高级选其一)资格。意见和资料: 欢迎您的宝贵意见,您也可以来信索取推文中提及的程序和数据。
招募英才: 欢迎加入我们的团队,一起学习Stata。合作编辑或撰写稿件五篇以上,即可
免费获得Stata现场培训
(初级或高级选其一)资格。联系邮件: StataChina@163.com