Stata如何一键快速将数据转码为utf-8格式?

Stata 14开始支持Unicode,Stata 13及更早版本的数据如果含有EASCII(Extended ASCII)码(如中文),之后的Stata无法正确显示(变量值、标签和注释),需要进行转码,包括dta文件和do文件。 西安交通大学实证社会科学研究所的何凌锋([email protected])开发了Stata社区命令QTransUni,...

Stata如何获取一个变量的不重复记录数?

分类变量的值如果少的话,可以tabulate一下人工数一数就出来了,比如年龄组、性别,但如果变量值很多的话,数数就很容易出错了,也不现实。 一眼可以看出,region下有四个区,Stata代码如下: sysuse census tabulate region 如果很多的话,Stata代码如下: *tabulate后内存中保留结果r(r) 行数;r(...

Stata如何获取一组变量的不重复记录数?

我们之前分享了如何获取单个变量下的不重复记录数,如果想得到各个省份下具体城市个数,该怎么做? 数据准备,Stata代码如下: clear input province city inputx 11 1101 1 11 1101 2 11 1101 3 11 1101 4 11 1101 5 11 1102 1 11 1102 2 11 1102 3 11 1102 4 11 1103 1 11 1103 2 11 1103 3 11 11...

Stata如何快速查询唯一变量组合?

系统自带的isid 用来判断某个变量或某些变量组合是否唯一,是的话可以生成一个uniqueid,便于以后的数据分析。但如何快速判断哪些最小变量组合唯一呢?美国西北大学凯洛格商学院 (Northwestern University Kellogg School of Management)的Riccardo Marchingiglio开发了Stata社区命令findunique,用...

Stata如何批量讲字符变量转为数值变量?

生成演示数据,Stata代码如下: clear input byte id str6 province str3 short 1 "上海" "沪" 2 "江苏" "江" 3 "浙江" "浙" 4 "北京" "京" 5 "天津" "津" 6 "河北" "冀" end 批量的话,可以用循环,Stata代码如下: foreach var of varlist province short { encode `var', gen(`var'_id) } list l...

Stata如何快捷地生成唯一识别符?

安装Stata社区命令makeid的Stata命令如下: *ssc 托管 ssc install makeid, replace * github托管 makeid from https://raw.githubusercontent.com/bbdaniels/stata/main net describe makeid net install makeid, replace 读取演示数据,Stata代码如下: clear input country village year househo...

Stata如何将数据转码为utf-8格式?

Stata14开始支持Unicode字符,变量、标签、注释及变量值均可以为中文(日韩德等等)了。之后版本若直接读取Stata13及之前的文件( .do 文件和.dta 文件一般为 gbk 或更广泛的gb18030 编码)会显示乱码,影响使用,Stata提供了unicode命令进行转化,简单介绍如下。 使用 Stata 13 及早期版本保存的 d...

Stata如何计算字符变量中不重复的单词数量?

上一篇我们解决了如何计算字符变量中特定字符的数量,但有时候写循环,还需要知道字符变量中唯一的单词(unique and distinct words)数量。 读取实例数据,Stata代码如下: * Example generated by -dataex-. For more info, type help dataex clear input group str25 soft total 1 "Stata" 1 1 "...

Stata如何计算变量中特定字符的数量?

有没有什么办法计数字符串中的空格数量?字符串首尾都没有空格, 比如 : "a b" 这其中有1个空格,"a b c" 这其中有2个空格。 读取演示数据,Stata命令如下: * Example generated by -dataex-. For more info, type help dataex clear input str15 var1 "a" "a b" "a b c d" "a b c d e f" "a b c ...

Stata如何实现在某变量特定值后插入新行?

想在keys字段特定的字母“f”后插入一新空行。具体而言,只要某条记录keys变量的值出现“f”,就在该记录后插入一条空记录,Stata的演示数据如下: /*读取演示数据*/ clear input byte num str1 keys 1 "a" 2 "b" 3 "c" 4 "d" 5 "e" 6 "f" 7 "a" 8 "b" 9 "c" 10 "d" 11 "e" 12 "f" 13 "a" 14 "b" 15 "c" ...