NO.2 Stata的数据组织逻辑

c8ea15ce36d3d539563f400a3a87e950342ab0fd

excel是以行和列来组织数据的,而在Stata中则是使用变量。什么是变量?以一个简单的数据为例:

id name gender
1 Bob male
2 Alex female

在这个数据中每一列为一个变量,第一行标签即为变量名,其他每一行是一条数据,这里就有3个变量,两条数据。

变量及变量相关参数


变量取值类型

  1. 字符串变量,字符串变量通常是一些需要用文字描述的信息,如姓名、住址等。字符串变量通常以英文“”标注。
  2. 数值型变量,数值型变量按其精度可分为五种类型:byte、int、long、float、double,不同精度对应着不同的计算误差。若多次计算均需四舍五入时,低精度的运算会使计算误差迅速扩大。以下是不同数据类型所对应的取值范围:
数值类型 最小值 最大值
int -32740 32740
long -2147483647 2147483647
float -1.701411*10-38 1.701411*1038
double -8.9984656743*10-307 8.9984656743*10307
  1. 日期型变量,在Stata中,1960年1 月1 日被认为是第0 天,因此1959 年12 月31 日为第-1 天,日期之间可以进行数学运算。使用date命令可以将字符串转化成日期型变量,其命令格式为:date(s1,s2,Y)。s1表示日期字符串,s2是日期格式,Y表示最大年份。如:date("1/15/51","MDY",2000) = 15jan1951详细内容可以通过help date命令来显示。
  2. 缺失值,缺失值在Stata中以.,.a-z表示。

变量类型的显示格式

在Stata中不同数据类型还可以设置显示方式,在Stata中加载一个数据,如输入sysuse auto加载auto数据,在输入describe,可一看到不同数据的数据类型与显示格式。

QQ20180817-093246@2x

数值型变量的显示格式

  1. 固定格式(f),显示方式:%w.df %w.dfc

w:表示整个显示所占字符数

d:表示小数点后的位数

c:表示数据是否以’,’分隔。

例如:

格式 表达式 12345
%w.df %9.4f 12345.0000
%w.dfc %9.0fc 12,345
  1. 普通格式(g),显示方式:%w.dg %w.dgc。表达式增加g之后会自动调节小数点位数,此时d值无效。

例如:

格式 表达式 12345
%w.dg %9.4g 12345
%w.dgc %9.4fc 12,345
  1. 科学计数法格式(e),显示方式:%w.de

例如:

格式 表达式 12345
%w.de %9.2g 1.23e+00

字符型变量的显示格式

  1. 固定格式(f),显示方式:%#s

    s:表示字符串显示格式

    -:左对齐

    ~:居中对齐

例如:

%-22s:表示22个字符左对齐的字符变量显示格式

%22s:表示22个字符右对齐的变量显示格式。

变量显示格式的更改


使用Forrmat命令可以显示和更改变量的显示格式。

  • Format [var] 显示变量的格式
  • Format [var] %w.df 更改变量的格式

以auto数据为例,输入format headroom显示headroom变量的数据显示格式。

QQ20180817-094503@2x

输入format headroom %6.2f将headroom变量显示为小数点后2位。

QQ20180817-094817@2x

变量取值类型的转换


常用变量取值类型的转换命令为destringtostring 分别对应将字符串类型数据转换为数值和将数值类型转换为字符串。

在stata中输入help destring 可以看到这两个函数的使用方式:

destring [varlist] , {generate(newvarlist)|replace} [destring_options]

tostring varlist , {generate(newvarlist)|replace} [tostring_options]

注意在stata的函数使用表达式中[]内代表的事可忽略项,{|}代表可选项

在stata中加载auto数据,并输入tostring price , replace 可以看到price变量变成了红色,此时price已经变成了字符型数据。

在命令行中输入destring price , generate(price2),可以看到此时新建了一个数值类型变量,其取值是price字符型数据转换成数值数据的结果。

命令整理


  • format
  • help
  • destring,tostring

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s