【STATA】变量处理、虚拟变量生成和样本分组等常见操作

您所在的位置:网站首页 stata设置变量名标签 【STATA】变量处理、虚拟变量生成和样本分组等常见操作

【STATA】变量处理、虚拟变量生成和样本分组等常见操作

2024-06-15 11:45| 来源: 网络整理| 查看: 265

0. 变量导入

此处以美国1988年妇女工资(官方数据)为例进行演示,数据导入代码为:

* - 数据清除 - clear all // 清除所有 cls // 清除屏幕 * - 数据导入 - sysuse nlsw88.dta, clear //导入美国1988年妇女工资数据1. 变量生成

可以采用generate生成新的变量,并可以和if等条件语句自由组合。

gen 新变量 = 生成方式 if 条件generate L_wage = log(wage) if married == 1 // 数据的对数处理【常用】 label var L_wage "log hourly wage" // 注意引号常见的取整方式:四舍五入取整(round)、向上取整(ceil)、向下取整(floor)generate round_wage = round(wage) // 四舍五入取整 note: "ceil 向上取整;floor 向下取整" gsort idcode, gen(numb) // 产生编号 list *wage if married == 1 in 1/10 // *wage *任意长度的任意量变量编号和群体数量统计

可以利用stata本身自带的_n和_N变量,达到对群体进行标号,或是统计群体样本数的目的。

_n:即每个样本对应的编号_N:即所选样本的总数bysort married: gen married_id = _n // 分群体编号 bysort married: gen married_num = _N // 统计每个群体的样本数2. 变量改名

对已经存在的变量,可以采用rename命令对变量名进行修改。

变量重命名:rename 现有变量 新的名字rename wage WAGE // 将变量wage命名为WAGE rename race RACE // 将变量race命名为RACE

需要注意的是,这里的需要和标签名进行区别,新的名字不能加引号(""),不然会产生报错

变量批量改名:renvars 现有变量1 现有变量2 / 新的名字1 新的名字2renvars WAGE RACE / wage race // 将变量名改回去 renvars wage race, postfix(_new) // 批量增加后缀 rename (wage_new race_new) (wage race) // 批量改名2:某些版本可用

需要说明的是renvars 为外部命令,需要进行安装,具体安装方式为

1. stata在命令窗口输入:search renvars 2. 点击第一个链接:dm88_1... 3. 点击install3. 变量改值

有些时候我们还需要对变量的某些值进行修改,可以使用replace实现

变量值替换:replace 变量名 = 新值 if 变量名 = 原始值sum wage replace wage = 10 if wage > 10 // 将大于10的值都替换为10 sum wage虚拟变量生成:generate和replace混用gen byte Old = 0 // 年龄是否大于40 replace Old = 1 if age > 40 // 如果大于替换为1 ['.'在stata里会被认为无穷大,被替换为1] // replace Old = . if age = . // 替换缺省值 // 定义标签 -- 可见上一稿 label define label_Old 1 "是" 0 "否" la


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3