相关文章推荐
强悍的茄子  ·  PSM的stata实现- ...·  11 月前    · 
坚韧的柑橘  ·  stata ...·  1 年前    · 
备案 控制台
学习
实践
活动
专区
工具
TVP
写文章
专栏首页 PyStaData Stata | 字符型和数值型转换
5 0

海报分享

Stata | 字符型和数值型转换

前言

刚接触 Stata 不久的朋友都容易把数值型和字符型弄混,导致在条件筛选和运算过程中报错。数值型和字符型是什么意思呢?可以把它们理解为 Excel 中的单元格格式,字符型相当于文本类型,数值型相当于数值类型。

变量类型的判断

在 Stata 中怎么判断数值型和文本型呢?

  • 方法一:打开数据窗口,在常见的主题颜色下,红色的列就是字符型;黑色的是数值型变量;蓝色的是为数值型添加了值标签(可以理解为披了“马甲”),点击马甲就可以看到数据本身的值。
  • 方法二: describe 查看变量类型。

混淆类型导致的问题

如果混淆字符型和数值型,常导致两种问题:

  • 在条件筛选时,报错 type mismatch
  • 变量运算时报错。
clear
input str10 String Number
"1" 1
"2" 2
"3" 3
"4" 4
* 导致问题
** 1.条件筛选
drop if String == "1" //字符型
drop if Number == 1  //数值型
字符型数据要加上引号
** 2.运算
gen Add = String + Number
type mismatch
r(109);
gen Number_2 = Number
gen Add = Number + Number_2 //数值运算
gen String_2 = String
gen Add_Str = String + String_2 // 字符拼接

总结成两句话:字符型的要带引号;类型相同才能运算。

类型转换

字符型和数值型的转换记住一组命令即可:

字符转数值: help destring

数值转字符: help tostring

destring String, gen(Str2Num)