实证分析 | STATA入门数据处理

2023-10-12 21:30

本文主要是介绍实证分析 | STATA入门数据处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

STATA十八讲1-7讲

1. 常用命令

*--- 需求帮助 ---*
help
search
*--- 进入某路径 ---*
cd
*--- 设定内存 ---*
set memory 20m
*--- 打开和保存数据 ---*
clear
ues
save
*--- 导入数据 ---*
input
edit
import
*--- 重整数据 ---*
append
merge
xpose
reshape
gen
egen
rename
drop
keep
sort
encode
decode
order
by

2.命令语句

  1. 命令语句的格式

[by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options]

  1. 命令 command

只要不引起歧义,命令可以尽量只写前几个字母,如summarize可以写成sum

  1. 变量varlist

varlist表示一个变量,或者多个变量,多个变量之间用空格隔开

  1. 分类操作 by varlist

by varlist在执行时要求内存中的数据是按照by后面的变量排序的,当未排序正确时就会提示not sorted错误

sort foreign              //按国产车和进口车排序
by foreign: sum price weight
  1. 赋值及运算 = exp

该选项主要用于给新变量负值或替换原变量的值

gen nprice = price + 10
replace nprice = nprice - 10
  1. 条件表达式 if exp
*只查看价格超过1 万元的进口车(同时满足两个条件)
list make price if foreign==1 & price>10000
*查看价格超过1 万元或者进口车(两个条件任满足一个)
list make price if foreign==1 | price>10000
*分类型查看价格超过1 万元的汽车的品牌和价格
by foreign, sort: list make price if price>10000
  1. 范围筛选 in range

如果要计算较低的前10 台车的平均价格

sort price
sum price in 1/10
  1. 加权 weight
sum score [weight = num] //求分数的均值,num为不同分值的人数变量,以人数进行加权
  1. 其他可选项 , options

不同命令有不同可选项,实现不同的功能

3. 数据

  1. 打开数据
use xxx.dta, clear
  1. 数据类型
  • 数值型变量按精度区分:byte,int,long,float,double

  • 字符串变量,最多可以达244个字符,一般用str#表示字符的多少,例如str#20表示有20个字符

  • 日期型变量,在STATA中,1960年1月1日被认为是第0天

  • 缺失值

  1. 数据类型的转化

字符型变量转化成数值型变量:destring

destring date, replace   //把date转换成数值型* 把字符型变量中含有非数值型字符时不能进行转换
destring date, replace ignore(" ")  //忽略空格,然后转换
destring price percent, gen(price2 percent2) ignore(“$ ,%”) //忽略$空格,%,并生成新变量

数值型转变量换为字符型变量:tostring

tostring year, replace
  1. 数据显示格式:format
  2. 在STATA中直接录入数据:input
clear
input id str10 name economy
1 john 40
2 chris 80
3 jack 90
end
save economy.dta, replace
  1. 标签数据

label给数据/变量/变量值增加标签说明

label data "上市公司基本信息表"    //给数据集设置标签
label var code "证券代码"         //给变量设置标签
label define statelb 1 "国有企业" 0 "非国有企业"
label values state statelb       //给变量值设置标签
  1. 删除数据
erase mydata.dta    //删除文件时一定要带上后缀名

4. 数据整理

  1. 连接数据

纵向合并数据

use male, clear
append using female.dta

横向合并数据

merge 1:1 code year using mydata.dta, nogen keep(1 3)  //1对1横向合并
  1. 数据重整

*--- 数据重整,宽变长 ---*
use mywide.dta, clear
reshape long math economy, i(id name) j(year)
save mylong.dta, replace*--- 数据重整,长变宽 ---*
use mylong.dta, clear
reshape wide math economy, i(id name) j(year)
save mywide.dta, replace

将多列数据变一列:stack

stack var1-var6, into(x) clear
drop _stack
  1. 数据转置

行列互换

use math.dta, clear
xpose, clear

5. 函数与运算符

  1. 运算符

  1. 函数概览

  1. 数学函数
  • 三角函数、指数和对数函数
gen y1 = sin(x)
gen y2 = exp(x)
gen y3 = ln(x)
  • 取整和四舍五入
*--- 取整 ---*
int(x) //取整,不论后面的小数是什么,只取小数点前的数值*--- 四舍五入 ---*
round(x) // 四舍五入取整
round(x, .01) //保留两位小数四舍五入
  • 求和及求均值gen和egen
gen y = sum(x)  //求列累积和
egen y = sum(x) //求列总和
egen y = rsum(x y z) //求x+y+z总和
egen y = rowmean(x y z) //求(x+y+z)/3
egen y = rowsd(x y z) //求x y z的方差
egen y = rowmim(x y z) //求x y z的最小值
egen y = rowmax(x y z) //求x y z的最大值
egen y = mean(x)      //求列均值
egen y = median(x)    //求列中位数
egen y = std(x)       //求变异系数,与方差不同
  1. 字符函数
gen year = substr(enddate,1,4)  //从enddate字符1开始取,取4个字符赋给year
gen y = strpos(s1, s2) != 0    //strpos(s1, s2)返回字符s2在s1中的位置,如果s1中找不到s2,则返回0,将该判断再赋给y
  1. 分类操作
by x, sort: gen z = y[1]  //按照x分组,生成一个新变量z=y的第一个观察值
bysort x: gen z = y[1]
bysort x(y): gen z = y[1] //按照x分组,分组后按照y排序,生成一个新变量z=y的第一个观察值

6. 程序

  1. 暂元

暂元是程序中的临时变量,分为暂元名和暂元内容两部分,类似于变量名和变量值

local v3 "price length weight"  // 将price length weight 这组字符赋给暂元名v3
list `v3' in 1/5glocal v3 "price length weight"  // 将price length weight 这组字符赋给暂元名v3
list $v3 in 1/5

global与local的区别

global为全局暂元,local为局域暂元

7. 流程语句

  1. 循环语句:forvalues
forvalues i = 1/5 {
display `i'
}forvalues i = 4 (-0.2) 0 {
display `i'
}
  1. 循环语句:foreach

按照变量循环

foreach v of varlist var1-var6 {
replace `v' = 0 if `v' == .
}

这篇关于实证分析 | STATA入门数据处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/198588

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud