认识暂元和循环

文章介绍了Stata编程中的暂元,包括全局暂元和局部暂元,以及它们的使用方式。数值暂元和文本暂元分别用于存储数值和字符串,而函数暂元则方便进行信息替换。文章通过实例展示了如何利用暂元进行回归分析并提取结果。此外,还提到了查看和删除暂元的命令。
摘要由CSDN通过智能技术生成

一、认识暂元macro

在编程中,变量有关的知识主要是变量名的命名规则,定义变量的方式,以及变量值的调用。其中包括暂元有全局暂元和局部暂元之分,就可以理解为全局变量和局部变量。stata中明明规则有如下要求:暂元名可以由字母,数字,下划线组成,且数字不能作为暂元名的开头。 二者的区别:局部暂元只在当前的dofiele文件中有效,全局暂元保留在内存中长期有效。

1、数值暂元

在stata中暂元可以存储多种类型的的值,数值型是其中一种。

 local a 2
 display `a'

对于局部暂元而言,引用规则是在暂元名的左边加上 `(Tab键上面的那个键),,暂元的右边加上一个单引号 '(英文输入法下的单引号)。

global b 3
display $b

对于全局暂元,引用规则是在前面加上一个美元符号$。

2、文本暂元

在stata中暂元不仅可以存储数值,也可以室字符串文本

 local x "x1 x2 x3"
 reg y `x'

以上例子中将解释变量x1、x2、x3存储在暂元x中,之后进行回归,减少了书写量。

3、函数暂元

暂元就是用来进行将某些信息用某个简单的暂元名替换或者赋值的,为了简单地操作,Stata提供了暂元函数,用来方便地获取信息从而替换给某个暂元名。命令之间使用冒号分割。语法命令如下:

"global/local macroname : results command"

接下来使用美国汽车数据,进行回归分析,获得回归结果,使用ereturnlist可以看到回归结果存储的相关数据情况。

sysuse auto, clear
regress price mpg 
ereturnlist
local a : e(matrices) // 获取以矩阵形式存储的结果名称
local b : e(scalars) // 获取以标量形式存储的结果名称
local c : e(functions) // 获取以函数形式存储的结果名称
local d : e(macros) // 获取以暂元形式存储的结果名称
display "`a'"
display "`b'"
display "`c'"
display "`d'"

根据以上可以获得很多stata的回归结果系数矩阵标量等。

4、其他注意事项

暂元的查看与删除

macro dir
macro list
macro drop macroname

二、循环

1、简介

在stata软件的操作中,有三种循环命令forvalues,foreach,以及while。每种循环有不同的适用场景,forvalues主要针对数值进行循环,想对比较简单。foreach的对暂元macro,数据变量名varlist,甚至是数字列表,它可以遍历任意列表。while循环的语法和大多数编程语言是一样的,while后面跟的条件是真的时,会执行里面的代码块。

2、forvalues

常见的是数值循环:

set obs 50
set seed 10001
forvalues i = 1(2)10 {
     generate x`i' = runiform()
   dis `i'
}

以上命令生成的5个变量数值为随机数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值