import excel using "data.xlsx", clear first remove_some_char " ", trim
remove_some_char 是我现编的 Stata 命令,用于去除所有字符串变量中的空格:
*! remove_some_char " ":直接把所有的 string 变量去除空格 *! remove_some_char " ", trim:直接把所有的 string 变量去除空格,再 strtrim 下 cap prog drop remove_some_char prog def remove_some_char syntax anything [, trim] foreach i of varlist _all { cap replace `i' = subinstr(`i', `anything', "", .) if "`trim'" != "" { cap replace `i' = strtrim(`i') } } end
填补下前几个变量的缺失值:
carryforward 数字经济核心产业大类 数字经济核心产业中类 数字经济核心产业小类, replace formatallstr %10s label data "数据处理:微信公众号 RStata" save "数字经济核心产业分类与国际专利分类参照关系表", replace
formatallstr 也是我现编的,用于快速把所有的字符串变量按照指定格式 format:
*! formatallstr %10s:直接把所有的 string 变量格式化成 %10s cap prog drop formatallstr prog def formatallstr syntax anything foreach i of varlist _all { cap format `i' `anything' } end
数据中国际专利分类是用“、”符号隔开的,下面我们把这个变量适应顿号分开,然后再转换成长数据:
*- 拆分 IPC use 数字经济核心产业分类与国际专利分类参照关系表, clear gen id = _n split 国际专利分类, parse("、") drop 国际专利分类 gather 国际专利分类* order id gsort id dropvar dropif value == "" ren value IPC
这里面专利分类号类别有很多种形式,下面我们通过长度来分类:
gen len = strlen(IPC) gsort id IPC gen ipcid = _n tab len
评论