您的位置:

stata怎么把字符型改成数值型

一、stata怎么把字符型改成数值型代码

** 生成一个字符型变量
clear
input str1 a
"123"
"456"
"789"
end

** 将字符型变量转化为数值型变量
gen b = real(a)

** 输出结果
list

** 结果如下: 
     +--------+
     |   a    b |
     |--------|
  1. | 123  123 |
  2. | 456  456 |
  3. | 789  789 |
     +--------+

在stata中,可以使用real函数将字符型变量转化为数值型变量,生成新的数值型变量后,即可得到转化后的结果。

二、stata把字符型变成数值型

使用stata将字符型变量转化为数值型变量有多种方法,可以使用函数、命令或者图形用户界面等多种方式实现。

1.使用函数

可以使用real函数将字符型变量转化为数值型变量,例如:

gen b = real(a)

2.使用命令

使用命令将字符型变量转化为数值型变量也是一种常见的方式。

tostring varname, replace

该命令将变量varname中的所有非数字字符去除,并将结果替换原变量。

另外,还可以使用decode命令将字符型变量转化为数值型变量。该命令首先需要定义一个编码文件,然后使用编码文件将字符型变量转化为数值型变量。

三、stata数值转化成字符型

字符型变量和数值型变量在stata中的使用是非常普遍的,而在将数值型变量转化为字符型变量时,可以使用以下几种方式:

1.使用函数

使用string函数将数值型变量转化为字符型变量,例如:

gen a_str = string(a_num)

2.使用命令

使用命令将数值型变量转化为字符型变量也是一种常见的方式。

encode varname, generate(strvarname) label(lab) gen(synvarname)

其中,varname是要转化的数值型变量名,而strvarname是生成的字符型变量名,lab是编码文件名,synvarname是生成的分类变量名。这里需要注意,encode命令将数值型变量转化为字符型变量的前提是必须先定义一个编码文件。

四、stata字符型转数值型实例

下面通过一个具体的实例介绍stata字符型转数值型的方法。

假设我们有一个数据集,其中包含了学校名称、学生人数、学校所在城市等信息,其中学生人数为字符型变量,需要将其转化为数值型变量。

** 生成数据集
clear
input str20 school str10 city str10 num_of_students
"School A" "Beijing" "100"
"School B" "Shanghai" "200"
"School C" "Guangzhou" "300"
end

** 定义编码文件
label define num_of_students_label 1 "100" 2 "200" 3 "300"

** 数值赋值并输出结果
encode num_of_students, generate(num_of_students_num) label(num_of_students_label) 
list

运行以上stata代码后,即可得到如下输出结果:

  +---------------------------------------------------------+
  |    school       city   num_of_st~s   num_of_st~n   school~m |
  |---------------------------------------------------------|
  |    School A   Beijing          100             1     School A |
  |    School B  Shanghai          200             2     School B |
  |    School C Guangzhou          300             3     School C |
  +---------------------------------------------------------+

可以看到,stata成功将字符型变量转化为了数值型变量,并同时生成了相应的编码文件。