原文链接:http://tecdat.cn/?p=6414

我经常使用Stata,我认为这是一个很棒的包。几年前的一个很好的补充是Mata语言,一种完全成熟的矩阵编程语言 。我相信Stata的许多内置命令都是用Mata编程的。我一直在使用Mata来编写新的命令 。这篇文章有望帮助其他人避免我所遇到的问题。

st_view()

Mata中的st_view()函数使您可以创建“对当前Stata数据集的视图”的对象。具体来说,您可以创建指向当前Stata数据集的一个或多个部分的Mata对象。例如之后

st_view(x,。,“x”)

我们可以使用Mata对象x来检查x变量的内容。

调用st_view()有很多种方法。

st_view()对象按列号指向,而不是指向变量

我通过遇到奇怪行为发现的第一个重点是st_view()对象指向Stata数据集中的特定列,即使通过传递变量来调用它也是如此 。这意味着,创建了Mata对象x,它是Stata数据集中变量x的视图,如果Stata数据集中的变量x改变位置,则Mata st_view对象x将不再指向正确的变量。为了说明,尝试以下代码 :

mata:
mata clear void test(){ st_view(x,。,“x”)x stata(“drop y”)x
} end clear
set obs 5
gen y = 1
gen x = 2
mata:test()
 代码生成一个Stata数据集,其中包含两个变量y(包含1个)和x(包含2个)。Mata程序test()首先创建Mata对象x,它指向Stata数据集变量x。 然后我们从Mata程序中调用Stata命令drop y。然后我们再次打印Mata对象x。运行代码,我们得到输出:
。mata:test()1 + ----- + 1 | 2 | 2 | 2 | 3 | 2 | 4 | 2 | 5 | 2 | + ----- + 1 + ----- + 1 | 。| 2 | 。| 3 | 。| 4 | 。| 5 | 。| + ----- +

我们看到第一次输出x给我们x变量,它包含2s。但是我们第二次调用print x时,会得到一列缺失值。 事实证明它指向特定的列,而不是特定的变量。

这种行为有什么影响?如果我们使用st_view()并调用它以指向特定变量,我们应该知道如果重新排序Stata数据集的变量,我们的st_view()对象可能不再指向正确的变量。这意味着每次我们在Mata程序中对Stata数据集进行更改时,我们都应该重新定义我们想要使用的任何Mata st_view()对象。

 

这有什么影响? 必须在 “更改数据集”之后重新创建st_view()对象 。

非常感谢您阅读本文,有任何问题请在下方留言!

拓端tecdat|Stata 中Mata的st_view函数 - 小心使用!相关推荐

  1. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  2. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  3. stata中mata语言学习-《Coding with Mata in Stata》

    mata是stata的一种编程语言,类似于c或是c++等语言,作为一门编程语言,其同样有结构,指针,类.但本篇文章主要介绍其mata以及对矩阵的操作. 本篇文章只是mata语言的一个简明教程,可以帮助 ...

  4. 拓端tecdat|bilibili视频流量数据潜望镜

    最近我们被客户要求撰写关于bilibili视频流量的研究报告,包括一些图形和统计输出. 最新研究表明,中国有超过7亿人在观看在线视频内容.Bilibili,被称为哔哩哔哩或简称为B站,是中国大陆第二个 ...

  5. 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测

    最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...

  6. 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...

  7. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

  8. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  9. VAR 在 Stata 中的模拟、估计和推断

    Source: Ashish Rajbhandari → Vector autoregression-simulation, estimation, and inference in Stata VA ...

  10. stata语言是用C语言开发,在Stata中编写估计命令:编写C语言插件

    这篇文章演示了如何用其他语言(如C,C 或Java)编写的代码插入到Stata中.这种技术被称为Stata编写插件或编写动态链接库(DLL).本文中,在C语言中编写一个插件,它实现了mymean11. ...

最新文章

  1. 变态题大串烧:微软面试问题 -- 三.难题:这类题有一定难度,如果得不到答案,也不能说明什么...
  2. LAMP-----3、配置apache实现与php的整合
  3. R语言blotter包及相关工具
  4. 串口通讯编程一日通2(Overlapped IO模型)
  5. 漫话:为什么计算机用补码存储数据?
  6. RTT时钟管理篇——RTT定时器超时判断理解
  7. iOS 离屏渲染的研究
  8. ubuntu16下安装mongodb 3.6
  9. IDEA创建javaweb项目,及常见的请求和响应头
  10. Ubuntu 下安装 GCC 的方法
  11. nvme分区选mbr还是guid_小白也会装系统 固态硬盘Win10热门主板Bios设置教程NVME和SATA...
  12. 奥克兰大学计算机it专业介绍,奥克兰大学IT硕士专业介绍
  13. linux自定义自动补全命令
  14. 常见互联网公司职级和薪资一览,有条件的一定要进大厂,薪水是真高
  15. 金山词霸2009牛津SP3破解版 PDF不能取词的解决办法
  16. 平年和闰年c语言程序,C语言平年,平年闰年问题
  17. php 图片效果代码,php实用图片水印效果代码
  18. 树莓派和arduino的串口通信
  19. 大数据归档-冷热数据分离
  20. 非接触IC卡中typeA卡和typeB卡的区别--总结,二者的调制方式和编码方式不同

热门文章

  1. Spring读书笔记-----Spring的Bean之设置Bean值
  2. slam的回顾(一)
  3. Java中IO流有哪些
  4. Crawler 爬虫
  5. 最小化——最速下降法matlab实现
  6. SpringCloud之Eureka
  7. 大K提醒各位常备DOS杀毒盘
  8. JavaScript开发工具大全
  9. 01我为什么学Unity3d
  10. Aerospike 使用场景