本文作者:赵微微,河南大学经济学院 本文编辑:喻淑敏
技术总编:李婷婷
Stata&Python云端课程来啦!
为了感谢大家长久以来的支持和信任,爬虫俱乐部为大家送福利啦!!!Stata&Python特惠课程双双上线腾讯课堂~爬虫俱乐部推出了Python编程培训课程、Stata基础课程、Stata进阶课程、Stata文本分析、正则表达式、网络爬虫、基本字符串课程。报名课程即可加入答疑群,对报名有任何疑问欢迎在公众号后台和腾讯课堂留言哦。我们在这篇推文的最后提供了每门课程的课程二维码,大家有需要的话可以直接扫描二维码查看课程详情并进行购买哦~
导读
长期使用Stata的用户都知道Stata所包含的命令众多、功能各异,有时一个命令有很多option,用以满足用户的不同需求。那有没有一些一看就懂,一用就会的简单命令呢,今天就给大家介绍四个在数据集中添加观测值的小命令,包括生成观测值的obs命令、在数据集中添加或插入观测值的insobs命令、在数据集末尾添加更多观测值的moresobs命令、用n倍的观测值去替换数据集中观测值的expand命令。这几个命令的功能是有一些相似的,但是也有不同之处,大家了解之后就可以根据需要选择合适的命令~
对于obs,大家肯定都非常了解了。set obs 可以改变当前数据集的观测值个数。语法也十分简单:
set obs #
clear allset obs 10 //生成10个观测值gen x = _n //创建变量x (x=1, 2 ,3·········10)gen y = x^2 //创建变量y (y=1,4,9……………100)set obs 15


insobs obs
after(inspos)选项使用,语法如下:
insobs obs, before(inspos) | after(inspos)
insobs 10和set obs 10的效果是一样的:
clear allinsobs 10 //生成10个观测值gen x = _n //生成数值

insobs 5,则表示在数据集末尾添加五行观测值,且全部为缺失值。
insobs 5 //在数据集末尾插入观测值

before(inspos)和after(inspos)选项,使用方法如下:
clear allset obs 10 //生成10个观测值gen x = _n //创建变量x (x=1, 2 ,3·········10)insobs 3, after(5) //在第五个观测值之后增加3行新的观测值

before(inspos)选项:
clear allset obs 10 // 生成10个观测值gen x = _n // 创建变量x (x=1, 2 ,3·········10)insobs 5, before(_N) //在最后一行观测值之前添加5行观测值

obs是观测值(observations)的意思,那么顾名思义,moreobs就是在数据集末尾添加更多观测值。moreobs命令的语法如下所示:
moreobs #
clear allset obs 10 //生成10个观测值gen x = _n //创建变量x (x=1, 2 ,3·········10)gen y = x^2 //创建变量y (y=1,4,9……………100)moreobs 1 //在数据集末尾添加一个观测值,相当于moreobs

clear allset obs 10 // 生成10个观测值gen x = _n // 创建变量x (x=1, 2 ,3·········10)gen y = x^2 // 创建变量y (y=1,4,9……………100)moreobs 5 // 在数据集末尾添加五行观测值

expand [=]exp [if] [in] [, generate(newvar)]
generate(newvar)选项可生成新变量newvar,用于标记原始数据(newvar等于0)和复制数据(newvar等于1)。这样的话,若要还原原始数据,则只需要通过保留newvar等于0的数据来实现,即keep if newvar==0。 webuse stackxmpl, clear //调入数据stackxmpllist //显示数据

expand 2list

expand b就表示根据变量b的值对数据进行扩充,这里变量b第一、第二行观测值分别为2和6,因此expand b就将当前数据集替换为有两行第一行观测值和六行第二行观测值,即添加了原始数据第一行观测值的1倍和第二行观测值的5倍。
webuse stackxmpl, clearlistexpand blist




腾讯课堂课程二维码







对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!
PCA(主成分分析法)降维——Python实现
超好用的事件研究法
如何绘制任泽平《鼓励生育基金》的几幅图
Python 第六天——字符串
findname——想要什么找什么
Python字符串之“分分合合”
PDF转docx可批量操作?——wordconvert的小技巧
考研之后,文科生需以“do”躬“do”!
手绘五星兴家国——用Stata绘制五星红旗
Python与数据库交互——窗口函数
爬虫俱乐部成员的Stata学习经验分享来啦!
我几乎画出了“隔壁三哥”家的国旗
如何用Stata绘制带指向性箭头标注的图像
Seminar丨荐仆贷款——19世纪中国的信任辅助贷款
Seminar丨公司董事会的人才增长:来自中国的证据
正则表达式--懒惰模式
正则表达式--贪婪模式
爬虫实战丨走进哈利波特的魔法世界
数据集合并的新路子-frlink命令
线性同余法生成伪随机数
[技能篇]多线程爬虫
“好哭”是衡量一部好电影的标准吗?
带你了解Stata中的矩阵
关于我们
微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。
此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。
投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

