目录

数据的三种类型(在stata中以颜色区分)

类型转化

1.destring 红转黑(限于第一种红色) 

2.tostring 黑转红

3.encode 红转蓝(限于第二种红色)

4.label define&label value 黑转蓝

5. 红转黑+黑转蓝


数据的三种类型(在stata中以颜色区分)

  • 红色:文本(可以按照字母顺序进行排序)type:string(str)字符串
  • 一种:纯数字(stkcd股票代码)
  • 另一种:纯文字(省份名称、行业名称)
  • 黑色:数字(可以做回归分析)
  • 蓝色:数字-文字对应表(虚拟变量)实质上也是数字

类型转化

1.destring 红转黑(限于第一种红色) 

目的:将字符串型的转化为数值型

比如:国泰安下载的数据——stkcd股票代码,在stata打开中是红色的,这是我们需要把它转化为黑色数字型

destring stkcd ,replace

2.tostring 黑转红

目的:什么时候适用于这种反向操作?—— 有时候字符串型比数值型更好进行操作,比如date的操作

tostring stkcd,replace

3.encode 红转蓝(限于第二种红色)

比如:将省份名称、行业名称、股权性质这种转化为数字-文字对应表

缺点:encode要产生一个新变量

encode equitynature, gen(e1) //将纯文字转为数字-文字对应表
des2                         //查看对应关系
labelbook                    //与以上同理


将文本转换为数字java 将文本转换为数字stata_字符串

查看对应关系

4.label define&label value 黑转蓝

目的:把数值型转化为数字-文字对应表

比如:国泰安下载的数据——两职合一,在stata中打开已经是数值型1和2,但是我想知道1代表什么,2代表什么,这个时候就可以加数字文字对应表

label define X  1 "同一人" 2 "不同一人"  //把1、2分别对应的类型定义为X标签
label value  Dual  X      //将X标签加到变量Dual上

5. 红转黑+黑转蓝

比如:

  • 国泰安下载的数据——是否为四大事务所,在stat中打开是红色“Y”和“N”,如果直接用encode得到的对应表可能并不是我想要的
  • 我要得到的类别变量,1表示是,0表示否
*直接用encode红转蓝
encode big4, gen(Big4)
des2

将文本转换为数字java 将文本转换为数字stata_类型转化_02

*先红转黑
gen Big4=1 if big4=="Y"
replace Big4=0 if big4=="N"
*黑转蓝 定义自己的对应关系表
label define Big4   1 "是" 0 "否"  
label value  Big4  Big4
des2

将文本转换为数字java 将文本转换为数字stata_数据_03